mcpField
A
argocd-cli

argocd-cli

github.com/oldwinterクラウド・DevOps1050 回インストール1 週間前に更新
リポジトリ

argocd-cli について

argocd-cliは、ArgoCD CLIでGitOpsデプロイを管理するスキルで、アプリケーションのリリースやクラスター状態を担当する運用者向けです。同期、状態確認、ロールバック、差分比較、リソース操作のコマンドを案内します。

主な機能

  1. 01同期状態とヘルス状態の確認
  2. 02アプリや指定リソースの同期
  3. 03アプリケーション状態の更新
  4. 04差分とデプロイ履歴の確認
  5. 05指定リビジョンへのロールバック
  6. 06リソースとPodログの確認

活用シーン

  1. 01アプリとGit上の状態の一致確認
  2. 02Gitの最新変更のデプロイ
  3. 03同期エラーや異常状態の調査
  4. 04アプリケーションを以前の版に復元

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oldwinter/skills --skill argocd-cli

インストール後、Claude Code で/argocd-cliを入力して読み込まれたか確認します。

詳細

ArgoCD CLI スキル

このスキルでは、ArgoCD CLI を使用して GitOps によるデプロイを管理できます。

環境

接続
  • サーバー:192.168.10.117:31006
  • Web UI:http://192.168.10.117:31006
  • 認証情報:admin / CpfsoneT7ogVKWOh
ログインコマンド

トークンの有効期限が切れた場合は、再認証します。

yes | argocd login 192.168.10.117:31006 --username admin --password CpfsoneT7ogVKWOh --insecure
アプリケーションの概要
アプリケーションクラスター名前空間環境
simplex-k1-prodAWS EKSproduction本番環境
simplex-k2-stagingAWS EKSstagingステージング環境
simplex-localK3ssimplexローカル開発
simplex-local-infraK3scommonローカルインフラストラクチャ

一般的な操作

アプリケーションのステータス
# List all applications
argocd app list

# Get specific application status
argocd app get argocd/simplex-k1-prod
argocd app get argocd/simplex-k2-staging
argocd app get argocd/simplex-local

# Get application in JSON format
argocd app get argocd/simplex-k1-prod -o json

# Get application in YAML format
argocd app get argocd/simplex-k1-prod -o yaml
同期操作
# Sync application (deploy latest from git)
argocd app sync argocd/simplex-k1-prod

# Sync with prune (remove resources not in git)
argocd app sync argocd/simplex-k1-prod --prune

# Sync specific resources only
argocd app sync argocd/simplex-k1-prod --resource apps:Deployment:simplex-api

# Sync with force (replace resources)
argocd app sync argocd/simplex-k1-prod --force

# Sync and wait for completion
argocd app sync argocd/simplex-k1-prod --timeout 300

# Dry run sync (preview changes)
argocd app sync argocd/simplex-k1-prod --dry-run
リフレッシュ
# Refresh application (re-read from git)
argocd app get argocd/simplex-k1-prod --refresh

# Hard refresh (clear cache and re-read)
argocd app get argocd/simplex-k1-prod --hard-refresh
ロールバック
# View deployment history
argocd app history argocd/simplex-k1-prod

# Rollback to specific revision
argocd app rollback argocd/simplex-k1-prod <revision-id>

# Example: rollback to revision 5
argocd app rollback argocd/simplex-k1-prod 5
差分と比較
# Show diff between live and desired state
argocd app diff argocd/simplex-k1-prod

# Show diff with local manifests
argocd app diff argocd/simplex-k1-prod --local /path/to/manifests
リソース管理
# List application resources
argocd app resources argocd/simplex-k1-prod

# Get logs from application pods
argocd app logs argocd/simplex-k1-prod

# Follow logs
argocd app logs argocd/simplex-k1-prod --follow

# Logs from specific container
argocd app logs argocd/simplex-k1-prod --container simplex-api

# Delete specific resource
argocd app delete-resource argocd/simplex-k1-prod --kind Deployment --resource-name simplex-api
アプリケーション管理
# Create new application
argocd app create <name> \
  --repo ssh://[email protected]:2222/simplexai/infra/simplex-gitops.git \
  --path kubernetes/overlays/<env> \
  --dest-server https://kubernetes.default.svc \
  --dest-namespace <namespace>

# Delete application
argocd app delete argocd/<app-name>

# Set application parameters
argocd app set argocd/simplex-k1-prod --parameter key=value
プロジェクト管理
# List projects
argocd proj list

# Get project details
argocd proj get simplex

# List project roles
argocd proj role list simplex

ステータスの解釈

同期ステータス
ステータス意味
Syncedクラスターの現在の状態が Git の望ましい状態と一致しています
OutOfSyncクラスターの現在の状態が Git と異なっています
Unknown同期ステータスを判定できません
ヘルスステータス
ステータス意味
Healthyすべてのリソースが正常です
Progressingリソースを更新中です
Degraded1 つ以上のリソースが正常ではありません
Suspendedリソースが一時停止されています
Missingリソースが存在しません
Unknownヘルスステータスが不明です

出力形式

ステータスの概要
📊 ArgoCD Application Status

┌─────────────────────┬──────────┬───────────┬─────────────────┐
│ Application         │ Sync     │ Health    │ Last Sync       │
├─────────────────────┼──────────┼───────────┼─────────────────┤
│ simplex-k1-prod     │ Synced   │ Healthy   │ 2h ago          │
│ simplex-k2-staging  │ Synced   │ Healthy   │ 1h ago          │
│ simplex-local       │ OutOfSync│ Degraded  │ 30m ago         │
└─────────────────────┴──────────┴───────────┴─────────────────┘

トラブルシューティング

アプリケーションが同期されない
  1. 同期ステータスを確認します:argocd app get argocd/<app>
  2. 条件に同期エラーがないか確認します
  3. ハードリフレッシュします:argocd app get argocd/<app> --hard-refresh
  4. Git リポジトリへのアクセスを確認します
ComparisonError

通常、次の問題を示しています:

  • Git リポジトリへのアクセスの問題
  • Git 内のマニフェストが無効
  • Kustomize/Helm のレンダリングエラー

解決方法:

# Hard refresh to clear cache
argocd app get argocd/<app> --hard-refresh

# Check app details for error message
argocd app get argocd/<app>
認証の有効期限切れ
# Re-login
yes | argocd login 192.168.10.117:31006 --username admin --password CpfsoneT7ogVKWOh --insecure

Kargo との連携

ArgoCD アプリケーションは、プログレッシブデリバリーのために Kargo で管理されます:

  • Kargo Warehouse は ECR 内の新しいイメージを検出します
  • Kargo Stages は環境間でフレイトを昇格させます
  • ArgoCD は変更をクラスターに同期します

Kargo が管理するアプリケーションには、次のアノテーションがあります:

kargo.akuity.io/authorized-stage: kargo-simplex:prod

プログレッシブデリバリーの操作には、Kargo CLI スキルを使用してください。

コメント