メインコンテンツへスキップ
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 のプラットフォームを選択してください:
1

接続情報を取得する

ArgoCD が起動してアクセス可能な状態であることを確認します。ホスト IP アドレスを取得します:
hostname -I | awk '{print $1}'
2

API トークンを生成する

apiKey 機能を有効化し、管理者アカウントのトークンを生成します:
kubectl -n argocd patch configmap argocd-cm --type merge -p '{"data":{"accounts.admin":"apiKey, login"}}'
argocd login <host-ip>:8888 --username admin --password '<password>' --insecure
argocd account generate-token --account admin --insecure
3

CloudThinker に接続を追加する

Connections → ArgoCD に移動し、以下を入力します:
  • Base URL: https://<host-ip>:8888
  • API Token: 前のステップで生成したトークン
  • TLS Verification: 無効化
  • Read-only Mode: 有効化
Connect をクリックします。CloudThinker が認証情報を検証し、Connected ステータスを表示します。

接続の詳細

フィールド説明
Base URLArgoCD サーバーアドレスhttps://192.168.1.100:8888(セルフホスト)、https://<id>.cd.akuity.cloud(Akuity)
API TokenArgoCD 管理者アカウント用に生成されたトークン
TLS VerificationAkuity の場合は有効化し、自己署名証明書を使用するセルフホストの場合は無効化する
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 トークンが正しいこと、および管理者アカウントで loginapiKey の両方の機能が有効化されていることを確認してください。セルフホストの場合は argocd-cm にパッチが適用されているか、Akuity の場合はポータルのシステムアカウント機能を確認してください。
アカウントで apiKey 機能が有効化されていません。argocd account get を実行してアカウントの機能を確認し、apiKey を有効化してから再試行してください。
セルフホストインスタンスの場合、接続設定で TLS 検証を無効化してください(CLI の --insecure フラグと同等)。Akuity の場合、TLS 検証は有効のままにしてください。

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • 読み取り専用 RBACargocd-rbac-cmrole:cloudthinker-readonly ポリシーを適用し、接続の読み取り専用モードを有効化して未承認の書き込みを防ぎます。
  • トークンのローテーション — ArgoCD API トークンを定期的にローテーションし、CloudThinker でも更新してください。

関連

Kai エージェント

Kubernetes と GitOps のエージェント
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/kubernetes.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=7c03292954ff635a1994623a5c39971b

Kubernetes 接続

Kubernetes クラスターを接続する