SynfraCore
Synfracore
Start Learning
Navigation

Academies

Platform

RoadmapsLabsCertificationsInterviewPYQsAI AssistantCareer
Start Learning Free Learning Roadmaps

Argo RolloutsNotes

Key takeaways, tips, and important points to remember

📄
Last updated Aug 2026
Expert Content

Argo Rollouts — Key Notes

Core CRDs

CRDPurpose

|---|---|

`Rollout`Drop-in replacement for `Deployment` — adds canary/blue-green strategy
AnalysisTemplateReusable definition of a metric query + success/failure condition
ClusterAnalysisTemplateSame as AnalysisTemplate, but cluster-scoped (usable across namespaces)
AnalysisRunA single, in-progress execution of an AnalysisTemplate — created automatically when a rollout hits an analysis step
ExperimentRuns separate baseline/canary pods to compare metrics, without touching live Rollout traffic

CLI Command Reference

kubectl argo rollouts get rollout <name> --watch    # live status
kubectl argo rollouts list rollouts                  # list all rollouts
kubectl argo rollouts promote <name>                 # advance past current pause
kubectl argo rollouts promote <name> --full          # skip all remaining steps
kubectl argo rollouts abort <name>                   # stop, full traffic back to stable
kubectl argo rollouts undo <name>                     # roll back to previous revision
kubectl argo rollouts restart <name>                  # recreate pods, no canary steps
kubectl argo rollouts dashboard                       # local UI at localhost:3100

Rollout vs. Deployment

DeploymentRollout

|---|---|---|

Update strategyRolling update onlyCanary or Blue-Green, with explicit steps
Health awarenessPod readiness onlyPod readiness + optional metric-based analysis
Rollback triggerManual onlyManual, or automatic on failed analysis
Traffic controlAll-or-nothing per pod countPrecise weighted traffic control (with a traffic provider)

Canary vs. Blue-Green

CanaryBlue-Green

|---|---|---|

Traffic shiftGradual (10% → 50% → 100%)Instant, all-or-nothing switch
Resource cost during rolloutProportional to current step's replica splitFull duplicate capacity (both versions fully scaled)
Rollback speedFast, but was already partial exposureInstant (switch routing back)
Real-user validationYes, at each traffic incrementOnly if testing the preview service directly before switch

Analysis Step Types

INLINE analysis  → placed directly in the `steps` list, rollout PAUSES here
                    until it resolves — a specific go/no-go gate
BACKGROUND analysis → runs continuously in parallel from a `startingStep`,
                       doesn't block step progression, catches slower-building
                       regressions across the whole rollout

Traffic Providers (need one for precise weight enforcement)

Istio, AWS ALB, NGINX Ingress, SMI (Linkerd + others), Ambassador, Traefik

Without one configured, canary steps still execute (scaling pod counts per step) but actual traffic split approximates via basic Service load-balancing, not an enforced exact percentage.

Pairing with ArgoCD

ArgoCD          → WHAT gets deployed (syncs desired state from Git)
Argo Rollouts   → HOW the deployment proceeds (canary/blue-green mechanics)

Together: Git push → ArgoCD syncs the Rollout object → Argo Rollouts executes the actual progressive delivery.

Share:
Join our Community
Daily tips, job alerts, interview help — join engineers learning together
Up Next
📝
Argo RolloutsPYQ
Previous Year Questions with detailed solutions
Also Worth Exploring
← Back to all Argo Rollouts modules
CheatsheetsPYQ