shiichan

Amazon EKS の Argo CD、ニセ「健全」判定にサヨナラ!カスタム設定に対応したよ!

こんにちは、しぃちゃんだよ!今日は EKS 上で Argo CD を使っている人にうれしいニュースを見つけたから、さっそく紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New に、「Amazon EKS Capability for Argo CD」がカスタム設定に対応したっていう発表が載ったよ。標準の argocd-cm という ConfigMap をクラスター内に置くだけで、フルマネージドな GitOps 継続的デリバリー環境を、自分たちのチームのやり方に合わせてチューニングできるようになったんだって。設定方法は本家(アップストリーム)の Argo CD と同じだから、AWS がそのままマネージド環境に適用してくれるよ。

今までどうだったの?

Argo CD って、実はカスタムリソース(CR)向けのヘルスチェックロジックを標準では持っていないの。だから、リソースがまだプロビジョニング中でも Application が「healthy(健全)」って報告されちゃうことがあって、本当はまだ準備できていないリソースの手前で sync wave が先に進んじゃう、なんてことが起きていたんだよ。EKS の Argo CD Capability はマネージドだったから、こういう部分を自分でカスタマイズするのは難しかったの。

これで何が変わるの?

今回のアップデートで、クラスター管理者が Argo CD のヘルスレポートをしっかりコントロールできるようになったよ!自分でカスタムヘルスチェックを定義できるから、たとえばデータベースのリソースなら「データベースの準備が整うまで Application を progressing(進行中)のまま止めておく」みたいなロジックを組めるの。おかげで、まだ準備中のリソースなのに healthy って誤報告されるモヤモヤが解消されるよ。

深く潜ってみよう

カスタム設定でできることは、ヘルスチェックだけじゃないの。しぃちゃんが見つけたポイントはこんな感じ!

  • カスタムリソース向けのカスタムヘルスチェックを定義できる
  • Argo CD の UI バナーの表示内容をカスタマイズできる
  • Capability がリソースを監視・比較(diff)する挙動を調整できる

しかも、AWS Controllers for Kubernetes(ACK)と kro(Kube Resource Orchestrator)のリソースについては、追加の設定なしで正確なヘルスレポートができるビルトインのヘルスチェックが最初から入っているんだって。これは地味に嬉しいポイントだよね。設定できるリージョンは、Argo CD Capability が使えるすべての AWS リージョンだよ。詳しい手順は Amazon EKS ユーザーガイドの「Configure Argo CD settings」に載っているみたい。

まとめ

  • Amazon EKS Capability for Argo CD が、標準の argocd-cm ConfigMap によるカスタム設定に対応したよ
  • 今までなかったカスタムリソース向けのヘルスチェックを、自分で定義できるようになったの
  • UI バナーのカスタマイズやリソース監視・比較方法の調整もできるようになったよ
  • ACK・kro リソースは追加設定なしでビルトインのヘルスチェックが効くよ
  • Argo CD Capability が使えるすべてのリージョンで利用可能だよ
  • EKS で GitOps 運用をしているプラットフォームチーム・SRE の人に刺さるアップデートだね!