Member-only story

TECH BASICS

Istio: Canary Deployment for Python Flask based WebServices

Arun Kumar Singh
6 min readAug 31, 2021

Photo by Scott Webb on Unsplash

In the first article of this series, we deployed a dummy python flask-based application in the Kubernetes cluster to demonstrate Istio traffic control capabilities. We talked about Istio concepts briefly and deployed few addons for monitoring and visualization of mesh.

Istio’s ability to enforce policy in communication networks enables useful traffic control, observability features, rate limiting, circuit breaking, and programmable rollouts such as canary deployments. In this article I am covering Canary deployment with Istio.

Quick Recap

Before moving on, let me quickly brief you about the application. I have created an application using the Python Flask web framework. The home page of the application is simple and has a context root of “/home”. The Service Data page loads data from the backend dummy Webservice and has the context root of “/list”. The codebase for this application is available in Github.

We deployed the Istio Gateway and Virtual Service, Kubernetes objects to expose these services out of our mesh.

Python Flask Based Demo App

It's time to verify our existing Istio components and Application state.

Application Deployment and related components

Using proxy-status you can get an overview of your mesh

istioctl proxy-status
proxy status

State of Istio specific components —

$ istioctl proxy-config route istio-ingressgateway-5dc645f586-84bvf -n istio-system

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Arun Kumar Singh
Arun Kumar Singh

Written by Arun Kumar Singh

In quest of understanding How Systems Work !

No responses yet

Write a response