ArgoCD Curriculum
Argo Rollouts Basics
Rollout Strategies
Analysis and Metrics
On this page
Subtopic•Argo Rollouts Basics

What Is Argo Rollouts

In the previous module, we covered data-driven progressive delivery loops, configured automated metrics analyses, and reviewed rollback validations workflows. With those deployment concepts clear, we will now start Module 15: Argo Rollouts, beginning with What is Argo Rollouts.

Standard Kubernetes Deployments support only basic rolling updates. Argo Rollouts is a dedicated controller that introduces custom resource definitions (CRDs) to support advanced canary releases, blue-green deployments, traffic management integrations, and automated metric validations.

In this guide, we will cover the operator architecture, analyze custom resource structures, and review progressive delivery features.

1. The Operator Architecture

Argo Rollouts runs as a controller pod inside your cluster, watching for custom resources and managing deployment replica sets:

               Argo Rollouts Controller Loop
┌────────────────────────────────────────────────────────┐
│  Resource Watch: Monitor Rollout CRDs in namespaces   │
├────────────────────────────────────────────────────────┤
│  Manage ReplicaSets: Scale stable & canary pods        │
├────────────────────────────────────────────────────────┤
│  Route Traffic: Integrate with Ingress / Mesh APIs     │
├────────────────────────────────────────────────────────┤
│  Execute Analysis: Launch AnalysisRun metric checks    │
│  - Promotes steps or triggers rollbacks automatically  │
└────────────────────────────────────────────────────────┘
  1. Watch Custom Resources: The controller watches for changes to your Rollout manifests.
  2. Manage ReplicaSets: Instead of delegates to standard Kubernetes controllers, the Rollouts manager creates and scales the stable and preview ReplicaSets directly.
  3. Control Traffic Splitting: It communicates with ingress controllers (e.g., Nginx, ALB) or service meshes (e.g., Istio) to adjust routing weights.
  4. Trigger Metric Evaluations: It runs AnalysisRuns to check metrics (from Prometheus or Datadog) before promoting the rollout steps.

2. Introducing Custom Resource Definitions (CRDs)

Argo Rollouts introduces three key CRDs to configure progressive delivery:

The Rollout CRD

This resource replaces the standard Deployment spec. It defines the pod template, the deployment strategy (Canary or Blue-Green), traffic splitting properties, and the list of steps:

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: payment-api-rollout

The AnalysisTemplate CRD

Defines how to query metrics providers (e.g., database error counts or latency thresholds) to validate deployment health.

The AnalysisRun CRD

Represents an instantiation of an AnalysisTemplate running inside the cluster. It contains the actual metric values collected during the rollout steps.


3. Operational Best Practices: Argo Rollouts

  • Separate templates from resources: Define reusable AnalysisTemplates globally in the namespace, and reference them inside your Rollout manifests.
  • Define fallback defaults: Ensure your metrics queries are fast and return clear status values to prevent analysis timeouts.
  • Monitor controller health: Regularly check the logs of your Rollouts controller to verify configuration parses:
    kubectl logs deployment/argo-rollouts -n argo-rollouts --tail=50
    

---

## 4. Rollouts Custom Resources Reference Summary

| Custom Resource | Scope | Primary Objective | Key Benefit |
| :--- | :--- | :--- | :--- |
| **`Rollout`** | Namespace | Replaces Deployment specifications. | Manages canary/blue-green steps. |
| **`AnalysisTemplate`**| Namespace / Cluster | Defines metrics validation queries. | Reusable query rules template. |
| **`AnalysisRun`** | Namespace | Active metrics query execution. | Drives automated promotions. |

In this section, we analyzed the Argo Rollouts operator architecture, compared custom resources, and reviewed progressive delivery workflows.

Now we will transition to comparing rollouts and deployments. In the next guide, we will compare the capabilities of the Rollout CRD with standard Kubernetes Deployments.
←Previous ModuleCI