38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
# This example demonstrates a Rollout using the canary update strategy with a customized rollout
|
|
# plan. The prescribed steps initially sets a canary weight of 20%, then pauses indefinitely. Once
|
|
# resumed, the rollout performs a gradual, automated 20% weight increase until it reaches 100%.
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Rollout
|
|
metadata:
|
|
name: rollout-canary
|
|
namespace: argo-rollouts
|
|
spec:
|
|
replicas: 5
|
|
revisionHistoryLimit: 2
|
|
selector:
|
|
matchLabels:
|
|
app: rollout-canary
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: rollout-canary
|
|
spec:
|
|
containers:
|
|
- name: rollouts-demo
|
|
image: argoproj/rollouts-demo:blue
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- containerPort: 8080
|
|
strategy:
|
|
canary:
|
|
steps:
|
|
- setWeight: 20
|
|
# The following pause step will pause the rollout indefinitely until manually resumed.
|
|
# Rollouts can be manually resumed by running `kubectl argo rollouts promote ROLLOUT`
|
|
- pause: {}
|
|
- setWeight: 40
|
|
- pause: {duration: 40s}
|
|
- setWeight: 60
|
|
- pause: {duration: 20s}
|
|
- setWeight: 80
|
|
- pause: {duration: 20s} |