TT Lab
はじめる
学ぶ 学習パス コース

CAPA — Argoプロジェクト認定アソシエイト

カナリアが実際に転がるのを見る

TT Labで続きを見る

このラボは本物のArgo Rolloutsで動きます

VMの中に、Rolloutsコントローラーが実際に起動しています。Podが本当に起動し、分析がJobを起動して判定し、失敗すれば実際に巻き戻ります。

前のモジュールのRolloutsのラボは、疑似クラスターで動いていました。Podが起動しないため、カナリアが何%なのか見られず、何より分析が動きませんでした。分析は、Jobを起動して、その結果で判定するのに、Jobが動かないので、判定そのものがありません。自動ロールバックはCAPAの核心なのに、それが丸ごと抜け落ちていました。

初回の起動には、3分ほどかかります。

用意されているもの

네임스페이스   demo
컨트롤러       argo-rollouts 네임스페이스
CLI            kubectl argo rollouts
미리 받은 이미지 argoproj/rollouts-demo 의 blue · yellow · red, busybox:1.36

このコードブロックの韓国語は、ネームスペースがdemoであること、コントローラーがargo-rolloutsネームスペースにあること、CLIがkubectl argo rolloutsであること、あらかじめ取得済みのイメージがargoproj/rollouts-demoのblue・yellow・redとbusybox:1.36であることを説明しています。

目標

カナリアから自動ロールバックまで、実際に動かして確認します。

ステップ

  1. Rolloutを作成して、最初のデプロイがどう違うかを残してください(保存先: /root/capa/first.txt)。
  2. イメージを変えて、カナリアが実際のPodの数で表れることを残してください(保存先: /root/capa/canary.txt)。
  3. 止まったものを進めて、その記録を残してください(保存先: /root/capa/promote.txt)。
  4. 成功する分析を付けて、通過することを残してください(保存先: /root/capa/analysis.txt)。
  5. 失敗する分析で自動ロールバックを起こして、残してください(保存先: /root/capa/rollback.txt)。
  6. abortとundoの違いを残してください(保存先: /root/capa/abort.txt)。
  7. ブルーグリーンで、2つのバージョンが同時に動くことを残してください(保存先: /root/capa/bluegreen.txt)。
  8. canary_pods=、auto_rollback=yes、bluegreen_paused=yesの3行と説明を書いてください(保存先: /root/capa/report.md)。

参考

最初のデプロイはカナリアを飛ばす

Rolloutを作成して、最初のデプロイがどう違うかを残してください(保存先: /root/capa/first.txt)。

比べる安定版がなければ、分けて送るトラフィックもありません。

25%はPodいくつか

イメージを変えて、カナリアが実際のPodの数で表れることを残してください(保存先: /root/capa/canary.txt)。

ウェイトはトラフィックの比率ですが、トラフィックルーティングがなければ、Podの数で近似します。

止まったものを進める

止まったものを進めて、その記録を残してください(保存先: /root/capa/promote.txt)。

promoteは1ステップ、promote --fullは残りのステップすべてです。

人の代わりに判定させる

成功する分析を付けて、通過することを残してください(保存先: /root/capa/analysis.txt)。

AnalysisTemplateのjobプロバイダーは、Jobを起動して、終了コードで判定します。

失敗するとひとりでに巻き戻る

失敗する分析で自動ロールバックを起こして、残してください(保存先: /root/capa/rollback.txt)。

分析が失敗すると、RolloutはDegradedになって、安定版に戻ります。specはそのままです。

abortとundoは違う

abortとundoの違いを残してください(保存先: /root/capa/abort.txt)。

片方はトラフィックだけを、もう片方はspecまで戻します。

2つのバージョンが同時に動く

ブルーグリーンで、2つのバージョンが同時に動くことを残してください(保存先: /root/capa/bluegreen.txt)。

activeServiceとpreviewServiceを作成すると、コントローラーがセレクターを代わりに調整します。

何を学んだか

canary_pods=、auto_rollback=yes、bluegreen_paused=yesの3行と説明を書いてください(保存先: /root/capa/report.md)。

canary_pods=、auto_rollback=yes、bluegreen_paused=yesの3行と説明を書いてください。