TECH BASICS
Istio: Canary Deployment for Python Flask based WebServices
Part 2: Istio | Canary | Python Flask | Kubernetes | DevOps
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.