You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The "Workload Identity is the recommended way to access Google Cloud" [0]. When you enable it, your pods will be unable to use the VM/Node IAM anymore but will require that you allow a Google Service Account to be used as a workloadIdentity, and annotate a Kubernetes service account to assume, "Kubernetes workload know which service account to use to access Google Cloud services" [1]:
Agones HELM create its own k8n ServiceAccount for service-controller and there are no variables to add the annotations "iam.gke.io/gcp-service-account=[GSA_NAME]@[PROJECT_NAME].iam.gserviceaccount.com"
2021/05/12 11:04:03 Failed to export to Stackdriver: rpc error: code = PermissionDenied desc = Permission monitoring.metricDescriptors.create denied (or the resource may not exist).
Others:
The text was updated successfully, but these errors were encountered:
Thanks for the bug! Looks like some things have changed since it was written.
We have examples of allowing arbitrary annotations in places in the helm charts. We could do something similar and also document that area too. I wonder if we should do something similar here, and document it.
Because this annotation includes both the project name (which helm doesn't know) and also the customized name of the google service account (GSA_NAME) it's impossible for us to properly set this annotation automatically in the helm charts. But as Mark mentioned we can make it so that you can pass it in as a setting so that you can set it during installation.
One other thing I noticed is that after creating the GSA, the IAM binding, and adding the annotation, I had to restart the agones pods for them to successfully connect to stackdriver. I still need to test to see if running helm upgrade --install --wait with the new parameters will restart pods or just patch them with the new annotation.
What happened:
The "Workload Identity is the recommended way to access Google Cloud" [0]. When you enable it, your pods will be unable to use the VM/Node IAM anymore but will require that you allow a Google Service Account to be used as a workloadIdentity, and annotate a Kubernetes service account to assume, "Kubernetes workload know which service account to use to access Google Cloud services" [1]:
Agones HELM create its own k8n ServiceAccount for service-controller and there are no variables to add the annotations "iam.gke.io/gcp-service-account=[GSA_NAME]@[PROJECT_NAME].iam.gserviceaccount.com"
[0] - https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
[1] - https://cloud.google.com/blog/products/containers-kubernetes/introducing-workload-identity-better-authentication-for-your-gke-applications
What you expected to happen:
Deploy with HELM with arguments that flag my cluster uses Workload Identity and what IAM the ServiceAccount should be annotated to be assumed.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Workarounds are to change the helm locally or annotate by command line after the deployment.
Environment:
Agones version: 1.13
Kubernetes version (use
kubectl version
):Cloud provider or hardware configuration:
GCloud + linux
2021/05/12 11:04:03 Failed to export to Stackdriver: rpc error: code = PermissionDenied desc = Permission monitoring.metricDescriptors.create denied (or the resource may not exist).
The text was updated successfully, but these errors were encountered: