コンテンツにスキップ

コマンド@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"
}