Argo CD Argo CD

Argo CD CLI でアプリケーションを管理する

ターミナルからログイン、作成、確認、差分表示、同期、ロールバックを行います。

10 min learn.level.初級

Web UI でできることはすべて argocd CLI からも実行できます。スクリプトで使う場合や、変更を適用する前にプレビューしたい場合に便利です。このガイドは、Argo CD がインストール済みで、インストールガイドで設定した port-forward が実行中であることを前提としています。

CLI をインストールしてログインする

CLI をインストールし(macOS では brew install argocd、またはリリースページからバイナリをダウンロード)、動作を確認します。

argocd version --client

port-forward 経由で API サーバーにログインします。--insecure は自己署名証明書の検証をスキップします。ローカル環境では問題ありませんが、本番環境では使わないでください。

argocd login localhost:8080 --username admin --password '<initial-password>' --insecure

argocd --help でコマンド一覧を確認できます。日常的な作業の多くは argocd app 配下で行います。

アプリケーションを作成して確認する

マニフェストの代わりにフラグを使ってアプリケーションを作成します。

argocd app create webapp-prod \
  --repo https://github.com/your-org/webapp-config.git \
  --path prod \
  --dest-server https://kubernetes.default.svc \
  --dest-namespace webapp-prod \
  --sync-option CreateNamespace=true

同期ポリシーを設定しない場合、アプリケーションは手動同期になります。続いて、存在するものを確認します。

argocd app list
argocd app get webapp-prod

list は、各アプリケーションのクラスター、namespace、プロジェクト、同期ステータス、ヘルス、同期ポリシーを表示します。get は 1 つのアプリケーションの詳細とそのリソースを表示します。

プレビューして同期する

作成直後の手動同期アプリケーションは、まだ何も適用されていないため OutOfSync と Missing と表示されます。同期する前に、何が変更されるかを正確に確認できます。

argocd app diff webapp-prod
argocd app sync webapp-prod
argocd app wait webapp-prod --health

同期が失敗した場合は、エラーが出力されます。よくあるのは、宛先の namespace がまだ存在しないケースです。上の CreateNamespace=true オプションはそのためのものです。Git で変更を行った後は、同期する前に argocd app diff で内容を確認すると便利です。これは UI の App Diff ビューと同じ情報を表示します。

履歴の確認、ロールバック、ログの確認

argocd app history webapp-prod
argocd app rollback webapp-prod <ID>
argocd app logs webapp-prod

history はデプロイ済みのリビジョンを ID 付きで一覧表示します。rollback はそのうちの 1 つに戻します。同期ポリシーのガイドで説明したとおり、自動同期が無効の間だけ動作します。logs はアプリケーションの Pod のログをストリーミング表示し、ロールアウトの最初の確認に役立ちます。

設定の変更とクリーンアップ

YAML を編集せずに、アプリケーションの設定を更新します。

argocd app set webapp-prod --sync-policy automated --auto-prune --self-heal

変更できる項目はすべて argocd app set --help で確認できます。アプリケーションが不要になったら削除します。

argocd app delete webapp-prod

デフォルトでは、アプリケーションが作成したリソースも一緒に削除されるため、完了までに 1 分ほどかかることがあります。その後 argocd app list を実行して、削除されたことを確認してください。

人気のガイド