Observability Analysis using Istio and Kiali within Alibaba Cloud Container Service for Kubernetes

With emergence of the microservice, cloud, and container based architecture, the way that a system is built changes as well. Applications are deployed in a distributed manner and change all the time.As the underlying infrastructure and network services become more and more robust, the application layer must catch up with development of technologies.Therefore, most faults come from applications or complex interaction between applications.

Such complexity increases the difficulty in visualizing the system status. The concept of observability and how to select appropriate tools for a good insight have attracted more and more attentions from communities.In short, observability can be considered as a monitoring superset, covering monitoring, warning/visualization, distributed system tracing, and log aggregation and analysis.

This article describes how to use the observability analysis service Kiali in Istio.

Experimenting with the Kiali service

In the Kubernetes environment, run the following command to check that Kiali is running properly:

kubectl -n istio-system get svc kiali
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
....

Click Services on the left-side navigation bar. Then, click the access address of the created Kiali service on the right side, as shown below:

Image for post
Image for post

Learning the Service Status in Real Time

On the Kiali UI, you can view the general information about the service or focus on a special microservice detail to easily identify and correct faults and ensure stability and performance of your container-based applications, as shown below:

Image for post
Image for post

Information about the reviews service includes labels, port numbers, health status, pods, deployments, and virtual services, as shown below:

To view the information on the Metrics tab, you must set the type of the Grafana service (grafana) to LoadBalancer.

Istio Configuration

On the Kiali UI, click Istio Config. The detailed Istio configuration is displayed, including the created resource types, such as Virtual Service, Rule, and Destination Rule, as shown below:

Image for post
Image for post

You can click an item to view the detailed configuration. The following figure shows the detailed configuration of the reviews virtual service.

Image for post
Image for post

Integration with Distributed Tracing

The Kiali UI is integrated with the Jaeger UI. You can click Distributed Tracing on the Kiali UI to view the distributed tracing result.Kiali fully utilizes the existing capabilities of Jaeger. For more information about distributed tracing, see the fourth article in this series.

Image for post
Image for post

When integrating the Kiali UI with the Jaeger UI, you must set the type of the Jaeger query service (jaeger-query) to LoadBalancer.

Summary

We can use Alibaba Cloud Container Service for Kubernetes to quickly build an Istio open platform for connecting, managing, and securing microservices, and to introduce and configure multiple relevant services for applications.Previous articles in the series use an official example to demonstrate how to deploy an application in the Istio environment; how to configure intelligent routing and distributed tracing; how to configure Istio functions of collecting, querying, and visualizing the telemetry data; and how to use the fault diagnosis and detection tool Weave Scope in Istio.This article describes how to use the observability analysis service Kiali in Istio.

You are welcome to use Alibaba Cloud Container Service for Kubernetes to quickly build an Istio open platform and integrate Istio to microservice development in your project.

This article series introduces Istio and its core components, as well as describes how to quickly build an Istio open platform for connecting, managing, and securing microservices on the basis of Alibaba Cloud Container Service for Kubernetes. These articles also use an official example to demonstrate how to deploy an application in the Istio environment; how to configure intelligent routing and distributed tracing; and how to configure Istio functions of collecting, querying, and visualizing the telemetry data.

To review these articles, see:

  1. Using Istio on Alibaba Cloud Container Service for Kubernetes
  2. Go through Istio Features with Samples on Alibaba Cloud Container Service for Kubernetes
  3. Intelligent Routing with Istio on Alibaba Cloud Container Service for Kubernetes
  4. Distributed Tracking with Istio on Alibaba Cloud Container Service for Kubernetes
  5. Telemetry Data Collection, Query, and Visualization with Istio on Alibaba Cloud Container Service for Kubernetes
  6. Fault Diagnosis and Detection using Istio within Alibaba Cloud Container Service for Kubernetes
  7. Observability Analysis using Istio and Kiali within Alibaba Cloud Container Service for Kubernetes

Reference:

https://www.alibabacloud.com/blog/observability-analysis-using-istio-and-kiali-within-alibaba-cloud-container-service-for-kubernetes_593934?spm=a2c4.11965571.0.0

Written by

Follow me to keep abreast with the latest technology news, industry insights, and developer trends.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store