v0.10.0
Quick Start
kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://raw.githubusercontent.com/argoproj/argo-rollouts/v0.10.0/manifests/install.yaml
Notable Features
- Ability to set canary vs. stable ephemeral metadata on rollout Pods during an update
- Support new metric providers: New Relic, Datadog
- Ability to control canary scale during an update
- Ability to restart up to maxUnavailable pods at a time for a canary rollout
- Ability to self reference rollout metadata as arguments to analysis
- Ability to fully promote blue-green and canary rollouts (skipping steps, analysis, pauses)
- kubectl-argo-rollouts plugin command to lint rollout
- kubectl-argo-rollouts plugin command to undo a rollout (same as kubectl rollout undo)
Upgrade Notes
Rollouts v0.10 has switched to using Kubernetes CRD Status Subresources (PR #789). This feature allows the rollout controller to record the numeric metadata.generation
into status.observedGeneration
which provides a reliable indicator of a Rollout who's spec has (or has not yet) been observed by the controller (for example if the argo-rollouts controller was down or delayed).
A consequence of this change, is that the v0.10 rollout controller should be used with the v0.10 kubectl-argo-rollouts plugin in order to perform actions such as abort, pause, promote. Similarly, Argo CD v1.8 should be with the v0.10 rollout controller when performing those same actions. Both kubectl-argo-rollouts plugin v0.10 and Argo CD v1.8 are backwards compatible with v0.9 rollouts controller.
Changes since v0.9
Controller
- feat: set canary/stable ephemeral metadata to pods during updates (#770)
- feat: add support for valueFrom in analysis arguments. (#797)
- feat: Adding rollout_info_replicas_desired metric. Fixes #748 (#749)
- feat: restart pods up to maxUnavailable at a time
- feat: add full rollout promotion (skip analysis, pause, steps)
- feat: use CRD status subresource (#789)
- feat: Allow setting canary weight without side-effects. Fixes #556 (#677)
- fix: namespaced scoped controller support (#818)
- fix: fetch secrets on-demand to fix controller boot for large clusters (#829)
Analysis
Plugin
- feat: Implement kubectl argo rollouts lint
- feat: Add undo command in kubectl plugin. Fixes #575 (#812)
- fix: kubectl plugin should use dynamic client