Unable to create an Argo CD Application using Google Cloud Workload Identity Federation for GKE #23554
Unanswered
KeitaroSaito
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
What I’m struggling with
I want to connect Argo CD and the product application—each running in different Google Cloud projects and GKE clusters—via Workload Identity, but it isn’t working.
Background
I followed the official Argo CD and Google Cloud references while asking ChatGPT for guidance.
I connect to Argo CD through port-forwarding.
Steps I’ve taken
Set up separate Google Cloud projects and GKE clusters for Argo CD and the application
Prepare a GSA for external workload access
Create the GSA in project-b
Grant roles to the GSA
Install Argo CD
# On the cluster for Argo CD kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Configure each KSA in Argo CD
Add iam-policy-binding for each KSA
Add annotations to each KSA
Make Argo CD recognize the target cluster
Customize the Argo CD image to include commands required for Workload Identity
According to ChatGPT, because we use
gke-gcloud-auth-plugin
, we need to install the related commands.docker buildx build \ --platform linux/amd64 \ -t asia-docker.pkg.dev/project-a/argocd-custom/argocd-with-gcloud:latest \ --push .
Create the Cluster Secret
With this,
https://<GKE public endpoint>
appears in Argo CD, but its status is unknown.Create the Application
This command fails with the following error:
Additional information
If I enter the argocd-server pod, create a kubeconfig from stringData.config in mycluster-secret.yaml, and use kubectl, I can retrieve information from the target cluster—so I believe Workload Identity is configured correctly.
Therefore, I think the issue lies with argocd app create failing for some other reason.
kubectl -n argocd exec -it deployment/argocd-server -- bash
Namespace available
Beta Was this translation helpful? Give feedback.
All reactions