Leveraging Kiali for Observability and Canary Deployments in EKS with Istio

In this article, we will explore Kiali, an observability console for Istio, and how it enhances the management of your microservices on EKS. Kiali provides a graphical interface to monitor, visualize, and troubleshoot service meshes, offering insights into traffic flow, dependencies, and performance. We’ll also dive into using Kiali for performing canary deployments, a technique that gradually shifts traffic to new versions of services to ensure smooth rollouts and reduce risks. By the end of this post, you will understand how to use Kiali to track and manage service health, deploy updates incrementally, and ensure a seamless deployment process in your EKS-based environment with Istio.

Installating kiali

Apply all given addons in istio using:

kubectl apply -f <path\to\istio\samples\addons>

e.g.

kubectl apply -f C:\Users\Lenovo\Downloads\istio-1.24.2-win-amd64\istio-1.24.2\samples\addons

To open kiali dashboard for tracing

istioctl dashboard kiali

Use Kiali Dashboard

To check “Traffic Graph

Services Section

To check “Traffic shifting”

Services → Actions → traffic shifting

preview

To change in VirtualService and Destination we can do manual or create vs.yml and ds.yml to make changes.

You can download from following:

  1. curl raw.githubusercontent.com/pratik2630/DevSec.. -o vs.yaml

  2. Curl https://raw.githubusercontent.com/pratik2630/DevSecOps-pipeline/refs/heads/main/all-files/ds.yaml -o ds.yaml

vs.yml

Push that code to github

Traffick shifting done using vs yaml file

This is example of canary deployment . Now over traffic will be distributed across 3 versions , v1 , v2 and v3 respectively 6%,17%,77%

Next blog , prometheus , grafana

Did you find this article valuable?

Support Pratik's Blog by becoming a sponsor. Any amount is appreciated!