May 15, 2021

GLB(Ingress GCE)でArgoCDを公開しているときのCLIのログイン方法

Google Kuberntees Engine (GKE)でArgoCDを運用していて、Ingress (Ingress GCE Controller)を使ってArgoCDを公開していることは多いのではないでしょうか。 ArgoCDは一つのポート(443)でgRPCとHTTPSの2つのプロトコルを受けているのでIngress GCE Controllerではそのまま受けることができません。 Ingress(NGINX controller)とは違って、SSLパススルー (ssl-passthrough)も設定することができず、このままではArgoCLIを使うことができなさそうです。

そのときは、--grpc-webフラグを使うことによってWebを通したようなHTTP(S)リクエストでargcdCLIを使うことができます。 実際に渡しが運用しているArgoCDはGitHubで認証・認可を行っているので以下のようなコマンドでログインをすることができます。

$ argocd login $MY_ARGOCD_HOST --sso --grpc-web

このようにして、HTTP2を直接受けることができなくてもArgoCDのCLIツールを使って操作をすることができます。 以上、メモでした。

© KeisukeYamashita 2021