Leveraging Kiali for Observability and Canary Deployments in EKS with Istio
Table of contents
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:
curl raw.githubusercontent.com/pratik2630/DevSec.. -o vs.yaml
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