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 を自由に散策できる権限がある場合は非常に便利!!!