Reputation: 2535
While trying for the first time to use Google Kubernetes Cloud solution, and according to the tutorial... I am trying to create new cluster.
But after pressing Create
i receive
The request contains invalid arguments: "EXTERNAL: service account
"****@developer.gserviceaccount.com" does not exist.". Error code: "7"
in a red circle near the Kubernetes cluster name.
After some investigations it's looks like the default service account which google generated for my account.
I've looked over the create cluster
options, but there isn't any option to change the service account.
Do I need to change Google Compute Engine default service account? how i can do it?
How I can overcome this issue?
Thank you
Upvotes: 8
Views: 13926
Reputation: 11
I tried enabling disabling the compute engine api but it didn't helped me. instead since i had recently deleted it , i was able to find the service account Id from the logs and undelete it from the cloud console.
Steps to follow:
open the log explorer and search for DeleteServiceAccount
in last 30 days as restoration of SA deleted older than 30 days is not supported.
then pick the SA ID from the last numeric chars in the logs against key resourceName
sample log image
the run
gcloud beta iam service-accounts undelete {SERVICE_ACCOUNT_UNIQUE_ID}
in your cloud console to recover your SA.
refer this document for more details : https://blog.economize.cloud/recover-google-app-engine-default-service-account/#:~:text=If%20the%20service%20account%20has,to%20create%20a%20new%20project.
Upvotes: 1
Reputation: 1112
Looks like you either do not have any default service account or have more than one. Simply go to the "Service Accounts" section "IAM & Admin" and select the app engine default service account, and provide this as an argument while creating cluster from gcloud or gshell as below:
gcloud container clusters create my-cluster --zone=us-west1-b --machine-type=n1-standard-1 --disk-size=100 [email protected]
Upvotes: 2
Reputation: 2535
Default Compute Engine Service Account is essential for functions related to Compute Engine and is being generated automatically. Kubernetes Engine utilizes Compute Engine VM Instances as Nodes used for the cluster. GKE uses the Compute Engine Service Account to authorize the creation of these nodes.
In order to regenerate default service there are two options:
gcloud services enable compute.googleapis.com
in Cloud SDK
or Cloud Shell
which is in the header of the page.Upvotes: 6
Reputation: 183
To initialize GKE, go to the GCP Console. Wait for the "Kubernetes Engine is getting ready. This may take a minute or more" message to disappear.
Please open the page and wait for a while
Upvotes: 0