3.4. ロールアウトのプロモート
ロールアウトは現在一時停止状態にあるため、クラスター管理者は、ロールアウトを手動でプロモートさせて次のステップに進むことができるようにする必要があります。
手順
Argo Rollouts CLI で次のコマンドを実行して、アプリケーションの別のカナリアバージョンを新たにシミュレートします。
$ oc argo rollouts promote rollouts-demo -n <namespace> 1
- 1
Rollout
リソースが定義されている namespace を指定します。
出力例
rollout 'rollouts-demo' promoted
これにより、カナリアバージョンではトラフィックの重みが 40% に増加します。
次のコマンドを実行して、ロールアウトが残りの手順で進行していることを確認します。
$ oc argo rollouts get rollout rollouts-demo -n <namespace> --watch 1
- 1
Rollout
リソースが定義されている namespace を指定します。
Rollout
CR で定義されている残りのステップには、pause: {duration: 45}
などのように期間が設定されているため、Argo Rollouts コントローラーは指定の期間待機してから、自動的に次のステップに進みます。すべての手順が正常に完了すると、新しい
ReplicaSet
オブジェクトが安定したレプリカセットとしてマークされます。出力例
Name: rollouts-demo Namespace: spring-petclinic Status: ✔ Healthy Strategy: Canary Step: 8/8 SetWeight: 100 ActualWeight: 100 Images: argoproj/rollouts-demo:yellow (stable) Replicas: Desired: 5 Current: 5 Updated: 5 Ready: 5 Available: 5 NAME KIND STATUS AGE INFO ⟳ rollouts-demo Rollout ✔ Healthy 14m ├──# revision:2 │ └──⧉ rollouts-demo-6cf78c66c5 ReplicaSet ✔ Healthy 6m5s stable │ ├──□ rollouts-demo-6cf78c66c5-zrgd4 Pod ✔ Running 6m4s ready:1/1 │ ├──□ rollouts-demo-6cf78c66c5-g9kd5 Pod ✔ Running 2m4s ready:1/1 │ ├──□ rollouts-demo-6cf78c66c5-2ptpp Pod ✔ Running 78s ready:1/1 │ ├──□ rollouts-demo-6cf78c66c5-tmk6c Pod ✔ Running 58s ready:1/1 │ └──□ rollouts-demo-6cf78c66c5-zv6lx Pod ✔ Running 47s ready:1/1 └──# revision:1 └──⧉ rollouts-demo-687d76d795 ReplicaSet • ScaledDown 14m