Canary Deployments To Kubernetes Using Istio and Friends

Canary Deployments To Kubernetes Using Istio and Friends

image description

What you will learn

  • Canary deployments
  • Using service mesh to define and run canary deployments
  • Using Istio to define canary deployments
  • Using metrics in Prometheus to decide whether to roll forward or roll back
  • Automating canary deployments with Flagger
  • Creating a script for canary deployments running in continuous delivery tools


Section 1: Introduction

Section 2: Requirements

Section 3: Installing Istio And Injecting Sidecar Proxies

Section 4: Enabling Incoming Traffic

Section 5: Running Canary Deployments Manually

Section 6: Using Metrics To Validate Progress

Section 7: Automating Canary Deployments With Flagger

Section 8: Automating Rollbacks Of Canary Deployments

Section 9: Integrating Canary Deployments With Continuous Delivery

Section 10: BONUS: Canary Deployments Through Jenkins X

Section 11: Goodbye

Course Description

The DevOps Toolkit Series


  • A Kubernetes cluster and a few CLIs. Detailed requirements are provided inside the course and available as a free preview.


Kubernetes provides a few "decent" deployment strategies out of the box. However, they might not be enough. Canary is missing.

What is the canary deployments process? How should we implement it in Kubernetes? Which tools should we use? We'll try to answer those and quite a few other questions.

This course will guide you through the journey of practical implementation of canary deployments. We'll use Kubernetes because it makes many things easier than any other platform before it. We'll need service mesh because, after all, most of the canary process is controlled through networking and changes to Kubernetes definitions. We'll need a few other tools, and we might even need to write our own scripts to glue everything into a cohesive process.

The end result will be a set of instructions and a live demo of a fully operational canary deployment process that can be plugged into any continuous delivery tool. We'll define the process, and we'll choose some tools. Nevertheless, we'll do all that while making the process agnostic and applicable to any toolset you might pick.

Who this course is for:

  • Engineers interested in defining and running canaries as a way to have more reliable deployments with zero-downtime