Unable to provision k8s from gcloud: "Account does not exist"

6/27/2017

I am trying to provision a k8s cluster on Google Cloud Platform using gcloud

$ gcloud container clusters create my-cluster

ERROR: (gcloud.container.clusters.create) ResponseError: code=400,
message=service account "xxxxxx-compute@developer.gserviceaccount.com" does not exist.

Any idea as to why this is error is occurring? I have been able to provision in the past w/o any issue until now.

-- Dominic Cabral
gcloud
google-cloud-platform
google-kubernetes-engine
kubernetes

2 Answers

6/27/2017

Verify that the active account is your own account, and not a service account that lacks permission to create clusters.

Example command to check this and output:

$  gcloud auth list
Credentialed Accounts:
 - xxxxx@developer.gserviceaccount.com 
 - user@example.com ACTIVE

If you don't see ACTIVE next to the expected account, then set it to the right account with:

$ gcloud config set account <correctaccountname>

Maybe you switched to the service account a while back and forgot about it?

-- Eric Tune
Source: StackOverflow

2/16/2020

I got the same error while creating a cluster using GKE. Earlier I was getting this error because I did not attach the service account (which needs to be created and assigned with a role having Kubernetes specific permissions).

Now, the further question you might have where to attach the service account, for this you need to go the Create Cluster --> Node Pool Section --> More Options --> (a new window will popup) --> security section --> In-Service account dropdown Choose the Service account.

Once you do it, then save and say create a cluster, hopefully you will not get the same error.

-- Jagdish0886
Source: StackOverflow