Difficulty: Advanced
Estimated Time: 15 minutes

At some point when you are developing your microservice architecture, you will need to visualize what is happening in your service mesh. You will have questions like “Which service is connected to which other service?” and “How much traffic goes to each microservice?” But because of the loosely tied nature of microservice architectures , these questions can be difficult to answer.

Those are the kinds of question that Kiali has the ability to answer, by giving you a big picture of the mesh, and showing the whole flow of your requests and data.

Kiali builds upon the same concepts as Istio, and you can check the glossary for a refresher.

Download the ebook "Introducing Istio Service Mesh for Microservices" for FREE at https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/.

You can also run this tutorial on your machine, visit http://bit.ly/istio-tutorial.

Don’t stop now! The next scenario will only take about 10 minutes to complete.


Step 1 of 2

How to install Kiali?

Install Kiali with the following commands:

  • Define URLS for Jaeger and Grafana

export JAEGER_URL="https://tracing-istio-system.[[HOST_SUBDOMAIN]]-80-[[KATACODA_HOST]].environments.katacoda.com"; \ export GRAFANA_URL="https://grafana-istio-system.[[HOST_SUBDOMAIN]]-80-[[KATACODA_HOST]].environments.katacoda.com"; \ export VERSION_LABEL="v0.9.0"

  • Install Kiali's configmap

curl https://raw.githubusercontent.com/kiali/kiali/${VERSION_LABEL}/deploy/openshift/kiali-configmap.yaml | \ VERSION_LABEL=${VERSION_LABEL} \ JAEGER_URL=${JAEGER_URL} \ GRAFANA_URL=${GRAFANA_URL} envsubst | oc create -n istio-system -f -

  • Install Kiali's secrets

curl https://raw.githubusercontent.com/kiali/kiali/${VERSION_LABEL}/deploy/openshift/kiali-secrets.yaml | \ VERSION_LABEL=${VERSION_LABEL} envsubst | oc create -n istio-system -f -

  • Deploy Kiali to the cluster

curl https://raw.githubusercontent.com/kiali/kiali/${VERSION_LABEL}/deploy/openshift/kiali.yaml | \ VERSION_LABEL=${VERSION_LABEL} \ IMAGE_NAME=kiali/kiali \ IMAGE_VERSION=${VERSION_LABEL} \ NAMESPACE=istio-system \ VERBOSE_MODE=4 \ IMAGE_PULL_POLICY_TOKEN="imagePullPolicy: Always" envsubst | oc create -n istio-system -f -

  • Create a new Route for the port 443

(oc get route kiali -n istio-system -o json|sed 's/80/443/')|oc apply -n istio-system -f -

Installing Kiali may take a minute or two. You can use the following commands to see if the service is running: oc get pods -w -n istio-system

Wait until the status for Kiali is Running and there are 1/1 pods in the Ready column. To exit, press Ctrl+C.

So now we can access Kiali at http://kiali-istio-system.[[HOST_SUBDOMAIN]]-443-[[KATACODA_HOST]].environments.katacoda.com

The default credentials are "admin/admin", but it’s recommended to change them before using it in production.