Skip to main content

Pod内で argocd —core app sync を回す

Kubernetes で ArgoCD を使っている人は多くいるかと思います。

argocd core

argocd --core app sync って便利ですよね。kubeconfig 以上の認証情報を必要とせずに sync を蹴ることができます。

これは、argocd core という仕組みを利用しています。

しかし、argocd core を利用して sync をするためには argocd namespace に context を切り替えないといけません。

Pod 内の kube-api へのアクセスは context になっていないため、Pod 内からは argocd namespace に切り替えることができずに実行できません。

application-controller 内で実行するといい

そんなときは、argocd namespace 内のもろもろ権限のある Pod の中で実行するといいです。

手頃なところでは、 application-controller が諸々の権限を持っています。

以下のコマンドで sync を回すことができます。

deploy/argocd-application-controller の部分は環境に合わせて適宜読み替えてください。

kubectl exec -it deploy/argocd-application-controller -n argocd -- argocd --core app sync [app]

argocd namespace を自由に散策できる権限がある場合は非常に便利!!!