← Back to blog
·2 min read·CI/CD

Canary Releases with Argo Rollouts

Progressive delivery on Kubernetes using Argo Rollouts, metric-based analysis, and automated rollback.

Canary deployments reduce blast radius by routing a small percentage of traffic to the new version, then increasing weight based on health signals. Argo Rollouts extends Kubernetes Deployments with fine-grained traffic management.

Canary Traffic Flow

Rollout Strategy

apiVersion: argoproj.io/v1alpha1 kind: Rollout metadata: name: payment-api spec: replicas: 10 strategy: canary: steps: - setWeight: 10 - pause: { duration: 5m } - setWeight: 30 - pause: { duration: 5m } - setWeight: 60 - pause: { duration: 5m } - setWeight: 100 analysis: templates: - templateName: success-rate startingStep: 1

CI/CD + Canary Lifecycle

Service mesh optional

Argo Rollouts works with Ingress NGINX, ALB, or Istio. Pick the integration that matches your platform.

Analysis Template Example

apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: success-rate spec: metrics: - name: success-rate interval: 1m successCondition: result[0] >= 0.99 provider: prometheus: address: http://prometheus:9090 query: | sum(rate(http_requests_total{status=~"2.."}[2m])) / sum(rate(http_requests_total[2m]))

Blue-Green vs Canary

Blue-GreenCanary
Traffic shiftInstant 100%Gradual
RiskAll-or-nothing switchLow initial exposure
RollbackFlip selectorReduce weight
ComplexityLowerHigher

Conclusion

Canary with Argo Rollouts is ideal when you have reliable metrics and want automated promotion. Start with 10% weight and short pauses, then tune based on your SLOs.

Related Articles