コンテンツにスキップ

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