Kubernetes 応用コース / Chapter 08

Argo CDで始めるGitOps

Gitを望ましい状態の正本にし、Argo CDがクラスタとの差分を同期する流れを学ぶ。

この章で学ぶこと
  1. GitOpsはGit上の宣言と実クラスタを継続的に照合する運用である。
  2. Argo CD Applicationは取得元、対象パス、デプロイ先を定義する。
  3. sync状態とhealth状態を分けて確認する。

01Gitの望ましい状態へ収束させる

Gitのmanifestとクラスタ実状態の差分をArgo CDが検出し、同期する。

GitOpsの望ましい状態と実状態
手作業変更は次回同期で差分になる。

手作業変更は次回同期で差分になる。

判断できるようになること:Gitの望ましい状態へ収束させる。

02ApplicationがGitと同期先を結ぶ

repository/path/revisionとcluster/namespaceを指定し、適用対象を固定する。

Applicationのsourceとdestination
pathやnamespaceを曖昧にしない。

pathやnamespaceを曖昧にしない。

判断できるようになること:ApplicationがGitと同期先を結ぶ。

03SyncedとHealthyを両方見る

Sync statusは差分、Health statusは稼働状態を表す。

SyncとHealthの違い
SyncedでもPodがReadyでなければHealthyではない。

SyncedでもPodがReadyでなければHealthyではない。

判断できるようになること:SyncedとHealthyを両方見る。

章のまとめ

  1. GitOpsはGit上の宣言と実クラスタを継続的に照合する運用である。
  2. Argo CD Applicationは取得元、対象パス、デプロイ先を定義する。
  3. sync状態とhealth状態を分けて確認する。