argorollouts
Argo Rollouts progressive delivery controller for Kubernetes. USE WHEN user mentions rollouts, canary deployments, blue-green deployments, progressive delivery, traffic shifting, analysis templates, or Argo Rollouts. Provides deployment strategies, CLI commands, metrics analysis, and YAML examples.
When & Why to Use This Skill
This Claude skill provides a comprehensive guide and automation assistant for Argo Rollouts, a Kubernetes controller designed for advanced progressive delivery. It empowers users to implement sophisticated deployment strategies like canary and blue-green, automate metrics-based analysis, and manage traffic shifting through detailed CLI commands, YAML templates, and troubleshooting patterns, ensuring safer and more reliable software releases.
Use Cases
- Implementing Canary Deployments: Gradually shift traffic to new versions with automated analysis gates to ensure stability before full rollout.
- Executing Blue-Green Deployments: Perform instant traffic switching between active and preview environments to minimize downtime and provide easy rollbacks.
- Automated Metrics Analysis: Define AnalysisTemplates to automatically promote or roll back deployments based on real-time data from Prometheus, Datadog, or CloudWatch.
- Traffic Management Integration: Configure service meshes like Istio and Linkerd or ingress controllers like NGINX and AWS ALB for precise traffic routing.
- Operational Workflow Management: Streamline DevOps tasks using CLI commands for promoting, aborting, retrying, and monitoring complex Kubernetes rollouts.
| name | ArgoRollouts |
|---|---|
| description | Argo Rollouts progressive delivery controller for Kubernetes. USE WHEN user mentions rollouts, canary deployments, blue-green deployments, progressive delivery, traffic shifting, analysis templates, or Argo Rollouts. Provides deployment strategies, CLI commands, metrics analysis, and YAML examples. |
Argo Rollouts Skill
Comprehensive guide for Argo Rollouts - a Kubernetes controller providing advanced deployment capabilities including blue-green, canary, and experimentation for Kubernetes.
Quick Reference
| Resource | Description |
|---|---|
| Rollout | Replaces Deployment, adds progressive delivery strategies |
| AnalysisTemplate | Defines metrics queries for automated analysis |
| AnalysisRun | Instantiated analysis from template |
| Experiment | Runs ReplicaSets for A/B testing |
| ClusterAnalysisTemplate | Cluster-scoped AnalysisTemplate |
Core Concepts
Rollout CRD
The Rollout resource replaces standard Kubernetes Deployment and provides:
- Blue-Green Strategy: Instant traffic switching between versions
- Canary Strategy: Gradual traffic shifting with analysis gates
- Traffic Management: Integration with service meshes and ingress controllers
- Automated Analysis: Metrics-based promotion/rollback decisions
Deployment Strategies
Blue-Green:
strategy:
blueGreen:
activeService: my-app-active
previewService: my-app-preview
autoPromotionEnabled: false
Canary:
strategy:
canary:
steps:
- setWeight: 20
- pause: {duration: 5m}
- setWeight: 50
- analysis:
templates:
- templateName: success-rate
Traffic Management Integrations
| Provider | Configuration Key |
|---|---|
| Istio | trafficRouting.istio |
| NGINX Ingress | trafficRouting.nginx |
| AWS ALB | trafficRouting.alb |
| Linkerd | trafficRouting.linkerd |
| SMI | trafficRouting.smi |
| Traefik | trafficRouting.traefik |
| Ambassador | trafficRouting.ambassador |
CLI Commands (kubectl-argo-rollouts)
# Installation
kubectl argo rollouts version
# Rollout Management
kubectl argo rollouts get rollout <name>
kubectl argo rollouts status <name>
kubectl argo rollouts promote <name>
kubectl argo rollouts abort <name>
kubectl argo rollouts retry <name>
kubectl argo rollouts undo <name>
kubectl argo rollouts pause <name>
kubectl argo rollouts restart <name>
# Dashboard
kubectl argo rollouts dashboard
# Validation
kubectl argo rollouts lint <file>
Analysis Providers
| Provider | Use Case |
|---|---|
| Prometheus | Metrics queries with PromQL |
| Datadog | Datadog metrics API |
| New Relic | NRQL queries |
| Wavefront | Wavefront queries |
| Kayenta | Canary analysis platform |
| CloudWatch | AWS CloudWatch metrics |
| Web | HTTP endpoint checks |
| Job | Kubernetes Job-based analysis |
Reference Documentation
- Summary - Overview and architecture
- Deployment Strategies - Blue-green and canary details
- CLI Commands - kubectl plugin reference
- Analysis & Metrics - AnalysisTemplate configuration
- Examples - Complete YAML examples
Common Patterns
Canary with Automated Analysis
steps:
- setWeight: 10
- pause: {duration: 1m}
- analysis:
templates:
- templateName: success-rate
args:
- name: service-name
value: my-service
- setWeight: 50
- pause: {duration: 2m}
Blue-Green with Pre-Promotion Analysis
strategy:
blueGreen:
activeService: active-svc
previewService: preview-svc
prePromotionAnalysis:
templates:
- templateName: smoke-tests
autoPromotionEnabled: false
Troubleshooting
| Issue | Solution |
|---|---|
| Rollout stuck in Paused | Run kubectl argo rollouts promote <name> |
| Analysis failing | Check AnalysisRun status and metric queries |
| Traffic not shifting | Verify traffic management provider config |
| Pods not scaling | Check HPA and resource limits |
Best Practices
- Always use analysis gates for production canaries
- Set appropriate pause durations between weight increases
- Configure rollback thresholds in AnalysisTemplates
- Use preview services for blue-green validation
- Monitor AnalysisRuns during deployments
- Version your AnalysisTemplates alongside application code