ArgoCD インスタンスを接続して、Kai (Kubernetes エンジニア)がデプロイメントの分析、アプリケーションの管理、GitOps ワークフローのトラブルシューティングを行えるようにします。ArgoCD は API トークン で認証します。セルフホストインスタンスと Akuity Platform ではセットアップ手順が異なります。
前提条件
CloudThinker からアクセス可能な ArgoCD インスタンス(セルフホストの場合デフォルトポート 8888、または Akuity Platform 経由の管理型)。
ArgoCD CLI がインストール済み(brew install argocd)。Akuity Platform の場合は Akuity CLI も必要。
apiKey 機能の有効化とトークン生成のための ArgoCD 管理者権限。
セットアップ
ArgoCD のプラットフォームを選択してください:
セルフホスト ArgoCD
Akuity Platform
接続情報を取得する
ArgoCD が起動してアクセス可能な状態であることを確認します。ホスト IP アドレスを取得します: hostname -I | awk '{print $1}'
API トークンを生成する
apiKey 機能を有効化し、管理者アカウントのトークンを生成します:kubectl -n argocd patch configmap argocd-cm --type merge -p '{"data":{"accounts.admin":"apiKey, login"}}'
argocd login < host-i p > :8888 --username admin --password '<password>' --insecure
argocd account generate-token --account admin --insecure
CloudThinker に接続を追加する
Connections → ArgoCD に移動し、以下を入力します:
Base URL : https://<host-ip>:8888
API Token : 前のステップで生成したトークン
TLS Verification : 無効化
Read-only Mode : 有効化
Connect をクリックします。CloudThinker が認証情報を検証し、Connected ステータスを表示します。
CLI をインストールする
ArgoCD CLI をインストールします: Akuity CLI をインストールします: curl -sSL -o /tmp/akuity \
"https://dl.akuity.io/akuity-cli/$( curl -sL https://dl.akuity.io/akuity-cli/stable.txt)/$( uname )/$( uname -m )/akuity"
chmod +x /tmp/akuity
sudo mv /tmp/akuity /usr/local/bin/akuity
管理者アカウントを作成する
Akuity Portal で:
Organization → API Keys → Create API Key をクリック(ロール:Owner)。
ArgoCD インスタンスの Settings → System Accounts に移動。
Add Account → 名前:admin をクリック。
login と apiKey の両方の機能を有効化し、パスワードを設定します。
API トークンを生成する
ログインしてトークンを生成します: argocd login < instance-i d > .cd.akuity.cloud --grpc-web \
--username admin --password '<your-password>'
argocd account generate-token --account admin --grpc-web
CloudThinker に接続を追加する
Connections → ArgoCD に移動し、以下を入力します:
Base URL : https://<instance-id>.cd.akuity.cloud
API Token : 前のステップで生成したトークン
TLS Verification : 有効化
Read-only Mode : 有効化
Connect をクリックします。CloudThinker が認証情報を検証し、Connected ステータスを表示します。
接続の詳細
フィールド 説明 例 Base URL ArgoCD サーバーアドレス https://192.168.1.100:8888(セルフホスト)、https://<id>.cd.akuity.cloud(Akuity)API Token ArgoCD 管理者アカウント用に生成されたトークン — TLS Verification Akuity の場合は有効化し、自己署名証明書を使用するセルフホストの場合は無効化する — Read-only Mode 未承認の書き込みを防ぐために有効化する —
必要な権限
ArgoCD に以下の RBAC ポリシーを適用して、CloudThinker に読み取り専用アクセスを付与します:
apiVersion : v1
kind : ConfigMap
metadata :
name : argocd-rbac-cm
namespace : argocd
data :
policy.default : role:readonly
policy.csv : |
p, role:cloudthinker-readonly, applications, get, */*, allow
p, role:cloudthinker-readonly, applications, list, */*, allow
p, role:cloudthinker-readonly, repositories, get, *, allow
p, role:cloudthinker-readonly, repositories, list, *, allow
p, role:cloudthinker-readonly, clusters, get, *, allow
p, role:cloudthinker-readonly, clusters, list, *, allow
g, cloudthinker-readonly, role:cloudthinker-readonly
kubectl apply -f argocd-rbac.yaml
最小権限の原則に従い、アプリケーション、リポジトリ、クラスターへの get および list アクションのみ付与してください。
エージェントの機能
接続後、Kai は ArgoCD アプリケーションの調査と操作を行えます。
機能 説明 アプリケーションのステータス 同期ステータス、ヘルス状態、最終同期時刻を確認する デプロイメント分析 同期外れや失敗したデプロイメントを特定する リポジトリの洞察 Git リポジトリの状態とコミットを分析する ヘルスモニタリング すべてのアプリのアプリケーションヘルスを追跡する 同期操作 手動同期をトリガーする — 承認が必要
接続を確認する
@kai list all ArgoCD applications and show their sync and health status
プロンプト例
@kai show all out-of-sync ArgoCD applications and #report the details
@kai analyze deployment failures for the payment service and #recommend fixes
@kai check the health status of all applications in production
トラブルシューティング
セルフホストインスタンスの場合、Base URL には localhost ではなくホスト IP アドレスを使用してください。サーバーがポートフォワードの背後にある場合は、kubectl port-forward svc/argocd-server -n argocd 8888:443 --address 0.0.0.0 を実行してください。ホストに到達できない場合はファイアウォールルールを確認してください。
API トークンが正しいこと、および管理者アカウントで login と apiKey の両方の機能が有効化されていることを確認してください。セルフホストの場合は argocd-cm にパッチが適用されているか、Akuity の場合はポータルのシステムアカウント機能を確認してください。
アカウントで apiKey 機能が有効化されていません。argocd account get を実行してアカウントの機能を確認し、apiKey を有効化してから再試行してください。
セルフホストインスタンスの場合、接続設定で TLS 検証を無効化してください(CLI の --insecure フラグと同等)。Akuity の場合、TLS 検証は有効のままにしてください。
セキュリティ
最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
読み取り専用 RBAC — argocd-rbac-cm に role:cloudthinker-readonly ポリシーを適用し、接続の読み取り専用モードを有効化して未承認の書き込みを防ぎます。
トークンのローテーション — ArgoCD API トークンを定期的にローテーションし、CloudThinker でも更新してください。
Kai エージェント Kubernetes と GitOps のエージェント
Kubernetes 接続 Kubernetes クラスターを接続する