Skip to main content
Deploying new versions to production can be risky: push a bad image and all pods may be replaced at once, causing user-facing errors. Progressive delivery gives you control over how a new version is introduced — shift a small percentage of traffic first, observe health and metrics, then gradually increase exposure. If anything looks wrong, abort and traffic returns to the stable revision. Argo Rollouts implements progressive delivery for Kubernetes as a drop-in replacement for Deployments. This walkthrough shows how to:
  • Verify Argo Rollouts is running
  • Create a Rollout (canary strategy with weights and pauses)
  • Perform a canary release by updating the image and promoting
  • Attach a Rollout to an existing Deployment using workloadRef

Verify Argo Rollouts is running

Confirm the Argo Rollouts controller and dashboard are up:

Create a Rollout — basic structure

A Rollout resource closely resembles a Deployment. The main difference is the strategy section, which defines canary or blue/green progressive delivery behavior. Here is a minimal Rollout that behaves like a regular Deployment:
To enable canary-style progressive delivery, add a strategy.canary.steps sequence. The example below progresses 25% → pause → 50% → pause → 75% → pause → 100%:
Apply the Rollout:
Inspect the rollout using the Argo Rollouts kubectl plugin:

Promote and update the image (canary release)

Promoting a rollout advances it to the next defined step. Running promote with no image change will not progress a revision (there is no new revision to advance):
To create a canary release, update the container image (for example, blueyellow) in rollout.yaml, then apply the change:
After applying the updated image the Rollout creates a new revision and will advance to the first step (setWeight: 25). One pod (25%) runs the new yellow image while the others remain on blue:
You can also inspect pods directly to confirm which revision is running:
The Argo Rollouts UI also visualizes canary progress and revision distribution. Example UI view:
This is the interface of Argo Rollouts, showing a rollout demo with canary strategy, including steps for weight adjustment and revision details. The rollout status is detailed with sections for steps, summary, containers, and revisions.

Promote to additional steps (CLI or UI)

Use CLI promote to move through the next pause or next weight:
Each promote advances to the next step you defined (50% → 75% → 100%). When the Rollout reaches 100% and checks look good, the new revision becomes the stable revision. You may also use the UI’s “Promote Full” option to advance all remaining steps at once.

Rollback

If the canary revision shows regressions, you can roll back from the Argo Rollouts dashboard to the previous stable revision. The UI provides an immediate way to revert so traffic returns to the stable revision.
The image shows a dashboard from the Argo Rollouts system, displaying a canary deployment strategy with various steps, including weight settings and pauses, and information on deployment revisions.

Manage existing workloads with workloadRef

If you already have an existing Deployment, you can let a Rollout reference that Deployment via workloadRef. This allows adding progressive delivery to an existing workload without replacing the resource. Create a Deployment (example uses replicas: 0 initially):
Apply the Deployment:
Create a Rollout that references the existing Deployment via workloadRef, and define a canary strategy:
Apply the Rollout:
The Rollout will reconcile and manage the referenced Deployment, scaling it to the number of replicas configured by the Rollout (for example, from replicas: 0 up to 4) and shifting traffic according to canary steps:
The image shows the Argo Rollouts user interface displaying a demo application rollout in progress using a canary strategy, with weight settings and revisions detailed.

A common YAML mistake is using step (singular) instead of the required steps (plural) under spec.strategy.canary. If you see an error like unknown field "spec.strategy.canary.step", verify you have steps: and that each step entry is properly indented.

Quick reference


Next steps & references

Practice the walkthrough: verify Argo Rollouts is installed, create a canary Rollout, update images to trigger revisions, promote step-by-step, and roll back if needed. Add observability and automated analysis (metrics, alerts) to make promotion decisions safer. Now you have a compact, hands-on guide: verify Argo Rollouts, create and apply a canary Rollout, perform controlled image updates and promotions, roll back when necessary, and attach Rollouts to pre-existing Deployments with workloadRef.

Watch Video

Practice Lab