コマンド@ArgoCD¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. argocd appコマンド¶
create¶
▼ createとは¶
ArgoCD のアプリケーションを作成する。
$ argocd app create foo-application \
--project default \
--repo https://github.com/hiroki-hasegawa/foo-manifests.git \
--revision main \
--dest-server https://kubernetes.default.svc \
--dest-namespace foo-namespace \
--auto-prune \
--self-heal \
--sync-option CreateNamespace=false
delete¶
▼ deleteとは¶
ArgoCD の Application を削除する。
▼ --cascade¶
--cascade オプションを有効化すると、ArgoCD の Application 自体と、Application 配下の Kubernetes リソースの両方を連鎖的に削除できる。
$ argocd app delete <ArgoCDのアプリケーション名> --cascade=true
反対に無効化すると、Application のみを単体で削除する。
$ argocd app delete <ArgoCDのアプリケーション名> --cascade=false
代わりに、kubectl コマンドを使用して ArgoCD の Application を削除してもよい。
$ kubectl delete app <ArgoCDのアプリケーション名>
get¶
▼ --hard-refresh¶
redis-server 上に保管した application-controller のキャッシュを削除し、再作成する。
$ argocd app get --hard-refresh
set¶
▼ setとは¶
指定した Application で、オプションを有効化する。
$ argocd app set foo-application --sync-policy automated
sync¶
▼ syncとは¶
指定した Application で、Sync のドライランを実行する。
$ argocd app sync foo-application --project foo-project
▼ --dry-run¶
$ argocd app sync foo-application --dry-run --project foo-project
▼ --local¶
指定した Application で、ローカルマシンのディレクトリをリポジトリとしてポーリングする。
$ argocd app sync foo-application --local=<ディレクトリへのパス> --project foo-project
02. argocd adminコマンド¶
cluster¶
application-controller のレプリカ当たるの情報を取得できる。
シャード数や Reconcile 中の Application 数を知れる。
$ argocd admin cluster stats
SERVER SHARD CONNECTION NAMESPACES COUNT APPS COUNT RESOURCES COUNT
https://*.*.*.* 4 Successful 36 274 9307
https://*.*.*.* 5 Successful 38 279 13726
https://*.*.*.* 3 Successful 32 204 8872
https://*.*.*.* 4 Successful 34 218 2185
https://*.*.*.* 3 Successful 35 282 14265
https://kubernetes.default.svc 0 Successful 1 10 3192
03. argocd clusterコマンド¶
add¶
▼ addとは¶
ArgoCD にポーリングさせたい Cluster を登録する。
$ argocd cluster add <デプロイ先のClusterのARN>
▼ --name¶
ダッシュボードで Cluster 名を使用してフィルタリングするときに、その表示名を設定する。
$ argocd cluster add <デプロイ先のClusterのARN> --name <ダッシュボード上でのClusterの表示名>
▼ --upsert¶
すでに Cluster を登録済みの場合、これを上書きする。
$ argocd cluster add <デプロイ先のClusterのARN> --name <ダッシュボード上でのClusterの表示名> --upsert
04. argocd repoコマンド¶
repo¶
▼ repoとは¶
ArgoCD がプライベートリポジトリをポーリングする場合、リポジトリを操作する。
▼ add¶
プライベートリポジトリをポーリングする場合、ポーリング対象として追加する。
$ argocd repo add oci://<OCIレジストリ名> \
--type helm \
--name <OCIリポジトリ名> \
--enable-oci \
--username AWS \
--password $(aws ecr get-login-password --region ap-northeast-1)
05. argocd loginコマンド¶
login¶
▼ loginとは¶
ダッシュボードにログインする。
$ argocd login <ArgoCDのドメイン名> \
--username admin \
--password <パスワード>
'admin:login' logged in successfully
▼ --sso、--sso-port¶
SSO でログインする。
コールバック URL (認可レスポンスのリダイレクト先 URL) で ID プロバイダーで公開するポート番号を指定する。
また、ダッシュボード上で SSO を実施する場合とは異なり、ID プロバイダー側でローカルマシン (localhost) からのリクエストを許可する必要がある。
$ argocd login <ArgoCDのドメイン名> --sso --sso-port 465
06. argocd-application-controllerコマンド¶
argocd-application-controllerコマンドとは¶
application-controller を操作するコマンドである。
application-controller のコンテナの起動コマンドとしても使われている。
グローバルオプション¶
▼ --namespace¶
application-controller の処理対象の Namespace を設定する。
設定しても効果がないため、存在意義がわからない...
$ argocd-application-controller --namespace foo-namespace ...
▼ --application-namespaces¶
ArgoCD が Cluster スコープモードの場合、Application を作成できる Namespace を設定する。
$ argocd-application-controller --application-namespaces "*"
07. argocd-serverコマンド¶
argocd-serverコマンドとは¶
argocd-server を操作するコマンドである。
argocd-server のコンテナの起動コマンドとしても使われている。
グローバルオプション¶
▼ --namespace¶
argocd-server の処理対象の Namespace を設定する。
設定しても効果がないため、存在意義がわからない...
$ argocd-server --namespace foo-namespace ...
▼ --application-namespaces¶
ArgoCD が Cluster スコープモードの場合、Application を操作できる Namespace を設定する。
$ argocd-server --application-namespaces "*"
version¶
ArgoCD の argocd-server に内蔵されているプラグインのバージョンを取得する。
$ argocd-server version
{
"Version": "v2.6.7+5bcd846",
"BuildDate": "2023-03-23T14:57:27Z",
"GitCommit": "*****",
"GitTreeState": "clean",
"GoVersion": "go1.18.10",
"Compiler": "gc",
"Platform": "linux/amd64",
"KustomizeVersion": "v4.5.7 2022-08-02T16:35:54Z",
"HelmVersion": "v3.10.3+g835b733",
"KubectlVersion": "v0.24.2",
"JsonnetVersion": "v0.19.1"
}