liveBook · Manning

Canary deployment

As explained in Kubernetes for Developers

A rollout is the controlled propagation of an application or platform update across its deployed instances or locations.

A canary deployment introduces a new application version to a limited audience before exposing it to everyone. The new version may first serve internal users, then a percentage of external traffic, while its behavior is evaluated before full cutover. section 4.2.3

A canary rollout typically includes:

  • Deploying the new version alongside the existing version. section 4.2.3
  • Testing the new version with internal users or a small percentage of production traffic. section 4.2.3
  • Evaluating results and deciding whether to continue, pause, or complete the cutover; human decisions may be involved. section 4.2.3
  • Using traffic-management and deployment tooling when fine-grained routing or automated decisions are required. section 4.2.3

Progressive production exposure

A service keeps the old version available while the new version is tested by internal users. It then receives a percentage of external traffic, remains under evaluation, and proceeds to full cutover only after validation. section 4.2.3

Figure 4.4 A Pod status during a blue/green rollout. Unlike the previous strategies, there are two action points where other systems, potentially including human actors, make decisions.
04-04

Shows the action points where validation systems or human operators decide whether a staged rollout should proceed. section 4.2.3

How Kubernetes for Developers covers it

How deep it goes
Describes staged users, traffic percentages, validation, and decisions, but stops short of defining detailed analysis criteria.
Examples
Uses internal users followed by a percentage of external production traffic before full cutover.
What it assumes
Assumes familiarity with Kubernetes Deployments and Services, while introducing staged validation through a practical rollout scenario.
What you can do after
Apply it via Istio and Spinnaker to split traffic and automate deployment decisions.
How it connects
Connects canary analysis with blue/green deployments, traffic splitting, Kubernetes, Istio, and Spinnaker.

Also explained in

Compare how 7 books explain canary deployment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes for Developers. The section links point to the parts of the book it draws on.