Argo Rollouts

Argo Rollouts is a Kubernetes controller and set of CRDs that provides advanced deployment capabilities beyond the native Deployment object.

Reviewed by 7wData

On this page

Publisher review

Argo Rollouts is a Kubernetes controller and set of CRDs that provides advanced deployment capabilities beyond the native Deployment object. It is designed for teams operating large-scale, high-volume production environments where the rolling update strategy's limitations—few controls over rollout speed, inability to control traffic flow, readiness probes unsuitable for deeper checks, no external metric queries, and no automated rollback—pose unacceptable risk. Argo Rollouts enables blue-green, canary, canary analysis, experimentation, and progressive delivery, integrating with ingress controllers (NGINX, ALB, Apache APISIX) and service meshes (Istio, Linkerd, SMI) to gradually shift traffic to new versions.

It can query and interpret metrics from providers like Prometheus, Wavefront, Kayenta, Datadog, New Relic, Graphite, InfluxDB, and Kubernetes Jobs to verify KPIs and drive automated promotion or rollback. The controller manages ReplicaSets similarly to Deployments, but when spec.template changes, it uses the strategy defined in spec.strategy to progress from old to new ReplicaSet, optionally passing an Analysis before marking the new ReplicaSet as stable. If another template change occurs mid-rollout, the controller scales down the previously new ReplicaSet and progresses the one reflecting the latest change.

Argo Rollouts integrates with Argo CD for GitOps workflows, allowing teams to execute deployment strategies with the same declarative, version-controlled approach. The developer experience is intentionally similar to the Deployment object—only apiVersion and kind change, plus a blueGreen or canary parameter—making it accessible to anyone familiar with Kubernetes Deployments. The project is part of the Argo open source project and is maintained by the CNCF.

Get the AI & data signal, daily.

335k+ subscribers read this every morning. One email, both newsletters. Unsubscribe anytime.

How it works

  1. Blue-green deployment strategy

    Manages two identical environments (blue and green) and switches traffic atomically between them using Service selectors.

  2. Canary deployment strategy

    Gradually shifts a percentage of traffic to the new version, with fine-grained, weighted control over the traffic split.

  3. Automated rollback and promotion

    Automatically rolls back the rollout if analysis metrics fail KPIs, or promotes the new version if they pass.

  4. Manual judgement for deployments

    Allows operators to manually approve or reject a rollout step, providing human oversight during critical updates.

  5. Customizable metric analysis

    Queries metrics from Prometheus, Datadog, New Relic, Graphite, InfluxDB, and others to verify business KPIs before promotion.

  6. Ingress and service mesh integration

    Works with NGINX, ALB, Apache APISIX ingress controllers and Istio, Linkerd, SMI service meshes to shape traffic.

  7. Simultaneous multi-provider support

    Can use multiple traffic management providers at once, e.g., SMI + NGINX or Istio + ALB, for complex topologies.

Strengths and trade-offs

Strengths

  • Argo Rollouts provides automated rollback based on metric analysis, a capability absent from Kubernetes native Deployments.
  • It supports simultaneous integration with multiple ingress controllers and service meshes, such as SMI + NGINX or Istio + ALB.
  • The developer experience mirrors the Kubernetes Deployment object, requiring only changes to apiVersion and kind plus a strategy field.
  • It integrates natively with Argo CD, enabling GitOps workflows for progressive delivery strategies.

Trade-offs

  • Argo Rollouts adds operational complexity by requiring installation and management of a separate controller and CRDs in the cluster.
  • It does not support the full set of Deployment features, such as the RollingUpdate strategy, and cannot be used as a drop-in replacement for all use cases.
  • The tool's advanced capabilities (e.g., canary analysis, manual judgement) require careful configuration and monitoring to avoid misconfigurations.
  • Documentation and community resources are less mature than those for Kubernetes native Deployments, potentially increasing the learning curve.

Pricing context

Argo Rollouts is open source and free to use under the Apache License 2.0. There are no paid tiers; costs are limited to infrastructure and operational overhead.

Getting started with Argo Rollouts

  1. Install Argo Rollouts controller

    Install the Argo Rollouts controller and CRDs in your Kubernetes cluster using kubectl. Run 'kubectl create namespace argo-rollouts' then 'kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml'.

  2. Configure traffic management provider

    Set up your ingress controller or service mesh (e.g., NGINX, Istio) to work with Argo Rollouts. Ensure the provider is installed and configured in your cluster, as Argo Rollouts uses it to shape traffic during canary or blue-green deployments.

  3. Define a Rollout resource

    Create a YAML file for a Rollout resource, setting apiVersion to argoproj.io/v1alpha1 and kind to Rollout. Add a spec.strategy field with either blueGreen or canary parameters, mirroring the Deployment object structure for familiarity.

  4. Run a canary deployment

    Apply the Rollout YAML to your cluster with 'kubectl apply -f rollout.yaml'. Monitor the rollout progress using the Argo Rollouts kubectl plugin: 'kubectl argo rollouts get rollout <name>'. Observe traffic shifting and metric analysis.

  5. Set up automated rollback

    Add an analysis template to your Rollout spec that queries metrics from a provider like Prometheus. Define failure conditions in the template; if metrics breach thresholds, Argo Rollouts automatically rolls back the deployment to the previous stable version.

Frequently Asked Questions

What is Argo Rollouts and what does it do?

Argo Rollouts is a Kubernetes controller and set of CRDs that provides advanced deployment capabilities like blue-green, canary, and progressive delivery. It integrates with ingress controllers and service meshes to gradually shift traffic and can automatically promote or roll back based on metric analysis.

How does Argo Rollouts differ from a standard Kubernetes Deployment?

Argo Rollouts offers more control than native Deployments, including traffic shaping, metric-driven automated rollbacks, and manual judgement. It uses a similar developer experience but requires a separate controller and CRDs, and does not support all Deployment features like RollingUpdate.

What deployment strategies does Argo Rollouts support?

Argo Rollouts supports blue-green and canary deployment strategies. Blue-green manages two identical environments and switches traffic atomically, while canary gradually shifts a percentage of traffic with weighted control. It also enables experimentation and progressive delivery with automated promotion or rollback.

How does Argo Rollouts handle automated rollback and promotion?

Argo Rollouts automatically rolls back the rollout if analysis metrics fail KPIs, or promotes the new version if they pass. This is driven by customizable metric queries from providers like Prometheus, Datadog, and New Relic, providing safer deployments without manual intervention.

Can Argo Rollouts integrate with ingress controllers and service meshes?

Yes, Argo Rollouts integrates with ingress controllers like NGINX, ALB, and Apache APISIX, and service meshes like Istio, Linkerd, and SMI. It can even use multiple traffic management providers simultaneously, such as SMI plus NGINX or Istio plus ALB, for complex topologies.

How does Argo Rollouts work with Argo CD for GitOps?

Argo Rollouts integrates natively with Argo CD, enabling teams to execute deployment strategies using the same declarative, version-controlled GitOps approach. This allows for progressive delivery with automated rollbacks and promotions, all managed through Git repositories.

Alternatives

How Argo Rollouts compares

Direct head-to-head against 3 competitors. Picked by 7wData.

This tool

Argo Rollouts

Pricing
Argo Rollouts is open source and free to use under the Apache License 2.0. There are no paid tiers; costs are limited to infrastructure and operational overhead.
Target
Argo Rollouts is a Kubernetes controller and set of CRDs that provides advanced deployment capabilities beyond the native Deployment object.
Strength
Argo Rollouts provides automated rollback based on metric analysis, a capability absent from Kubernetes native Deployments.
Watch for
Argo Rollouts adds operational complexity by requiring installation and management of a separate controller and CRDs in the cluster.

Flagger

Pricing
Free and open source (CNCF project).
Target
Teams needing progressive delivery with service mesh or ingress integration.
Deployment
Kubernetes, Istio, Linkerd, NGINX, Contour, Gloo.
Strength
Native integration with service meshes for traffic shifting and metric-based canary analysis.
Watch for
Requires a service mesh or ingress controller; no standalone traffic management.

Spinnaker

Pricing
Free and open source (self-hosted). Managed via Armory or OpsMx.
Target
Large enterprises needing multi-cloud deployments with canary analysis and approval gates.
Deployment
Kubernetes, AWS, GCP, Azure, bare metal.
Strength
Built-in canary analysis with configurable metrics and automated rollback.
Watch for
Complex setup and high operational overhead; requires dedicated infrastructure.

Flux

Pricing
Free and open source (CNCF graduated).
Target
Teams wanting a lightweight GitOps operator with progressive delivery capabilities.
Deployment
Kubernetes, Helm, Kustomize.
Strength
Tight GitOps integration with image update automation and canary support via Flagger.
Watch for
Weaveworks shut down in Feb 2024; community maintenance may slow.

User reviews

No user reviews yet. Be the first to write one.

Sources

Reporting on this tool draws on these publicly available sources.

  1. argo-rollouts.readthedocs.io
  2. octopus.com
  3. medium.com
  4. dzone.com
  5. github.com
  6. www.youtube.com