Canary Deployments To Kubernetes Using Istio and Friends
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
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