コマンド@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とは¶
指定したAplicationで、Syncのドライランを実行する。
$ argocd app sync foo-application --project foo-project
▼ --dry-run¶
$ argocd app sync foo-application --dry-run --project foo-project
▼ --local¶
指定したAplicationで、ローカルマシンのディレクトリをリポジトリとしてポーリングする。
$ 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"
}