Kiali works with Istio to visualize your service mesh topology to provide visibility into features like circuit breakers, request rates, and more. Kiali offers insights about the mesh components at different levels, from abstract Applications to Services and Workloads. Kiali provides an interactive graph view of your Namespace in real time. It can display the interactions at several levels (applications, versions, workloads) with contextual information and charts on the selected graph node or edge.

This tutorial uses Service Mesh and the bookinfo tutorial to demonstrate how you can use the Kiali console to view the topography and health of your service mesh.

Accessing the Kiali console

The Kiali console provides visualization and observability for your Service mesh. The Kiali console has different views that provide insights into Service mesh components at different levels, from Applications to Services to Workloads. It also provides validation for Istio configurations.

Prerequisites
  • OpenShift Container Platform 3.11 or higher installed.

  • Red Hat OpenShift Service Mesh 0.12.TechPreview installed.

  • Kiali parameters specified in the custom resource file.

  • Bookinfo demonstration application installed.

Procedure
  1. A route to access the Kiali console already exists. Run the following command to obtain the route and Kiali URL:

    $ oc get routes
    Sample output showing routes
    NAME                   HOST/PORT                                                PATH      SERVICES               PORT              TERMINATION   WILDCARD
    grafana                grafana-istio-system.127.0.0.1.nip.io                          grafana                http                            None
    istio-ingress          istio-ingress-istio-system.127.0.0.1.nip.io                    istio-ingress          http                            None
    istio-ingressgateway   istio-ingressgateway-istio-system.127.0.0.1.nip.io             istio-ingressgateway   http                            None
    jaeger-query           jaeger-query-istio-system.127.0.0.1.nip.io                     jaeger-query           jaeger-query      edge          None
    kiali                  kiali-istio-system.127.0.0.1.nip.io                            kiali                  <all>                           None
    prometheus             prometheus-istio-system.127.0.0.1.nip.io                       prometheus             http-prometheus                 None
    tracing                tracing-istio-system.127.0.0.1.nip.io                          tracing                tracing           edge          None
  2. Launch a browser and navigate to https://<KIALI_URL>; (in the output example, this is kiali-istio-system.127.0.0.1.nip.io). You should see the Kiali console login screen.

  3. Log in to the Kiali console using the user name and password that you specified in the custom resource file during installation.

    When you first log in you see the Overview page, which provides a quick overview of the health of the various Namespaces that are part of your Service Mesh.

    Overview Page

  4. Use the left navigation or click one of the Namespace icons to view your Applications, Workloads, or Services.

Exploring the Graph page

The Graph page shows a graph of microservices, which are connected by the requests going through them. On this page, you can see how Applications, Workloads, or Services interact with each other.

Procedure
  1. Click Graph in the left navigation.

    Kiali graph

  2. If necessary, select bookinfo from the Namespace menu. The graph displays the applications in the Bookinfo application.

  3. Click the question mark (?) under the Namespace menu to take the Graph Help Tour.

  4. Click Done to close the Help Tour.

  5. Click Legend in the lower left corner. Kiali displays the graph legend.

    Kiali legend

  6. Close the Graph Legend.

  7. Hover over the productpage Node. Note how the graph highlights only the incoming and outgoing traffic from the Node.

  8. Click the productpage Node. Note how the details on the right side of the page change to display the productpage details.

Exploring the Applications page

The Applications page lets you search for and view applications, their health, and other details.

Procedure
  1. Click Applications in the left navigation.

  2. If necessary, select bookinfo from the Namespace menu. The page displays the applications in the selected Namespace and their health.

  3. Hover over the Health icon to view additional health details.

  4. Click the reviews Service to view the details for that application.

    Kiali Applications details

  5. On the Applications Details page you can view more detailed health information, and drill down for further details about the three versions of the reviews Service.

  6. From the Application Details page you can also click tabs to view Traffic and Inbound and Outbound Metrics for the application.

Exploring the Workloads page

The Workloads page lets you search for and view Workloads, their health, and other details.

Procedure
  1. Click Workloads in the left navigation.

  2. If necessary, select bookinfo from the Namespace menu. The page displays the Workloads in the selected Namespace, their health, and labels.

  3. Click the reviews-v1 Workload to view the details for that Workload.

  4. On the Workload Details page you can view an overview of Pods and Services associated with the Workload.

    Kiali Workloads details

  5. From the Workload Details page you can also click tabs to view Traffic, Logs, and Inbound and Outbound Metrics for the Workload.

Exploring the Services page

The Services page lets you search for and view Services, their health, and other details.

Procedure
  1. Click Services in the left navigation.

  2. If necessary, select bookinfo from the Namespace menu. The page displays a listing of all the Services that are running in the selected Namespace and additional information about them, such as health status.

  3. Hover over the health icon for any of the Services to view health information about the Service. A Service is considered healthy when it is online and responding to requests without errors.

  4. Click the Reviews Service to view its details. Note that there are three different versions of this Service.

    Kiali Services details

  5. On the Services Details page you can view an overview of Workloads, virtual Services, and destination rules associated with the Service.

  6. From the Services Details page you can also click tabs to view Traffic, Inbound Metrics, and Traces for the Service.

  7. Click the Actions menu. From here you can perform the following actions:

    • Create Weighted Routing

    • Create Matching Routing

    • Suspend Traffic

    • Delete ALL Traffic Routing

  8. Click the name of one of the Services to view additional details about that specific version of the Service.

Exploring the Istio Config page

The Istio Config page lets you view all of the currently running configurations to your Service Mesh, such as Circuit Breakers, Destination Rules, Fault Injection, Gateways, Routes, Route Rules, and Virtual Services.

Procedure
  1. Click Istio Config in the left navigation.

  2. If necessary, select bookinfo from the Namespace menu. The page displays a listing of configurations running in the selected Namespace and validation status.

    Istio configuration

  3. Click one of the configurations to view additional information about the configuration file.