我正在尝试用GKE创建一个集群。我有一个我已经在使用的项目。
当我跑的时候
gcloud container clusters create cluster1我得到以下信息:
错误:(gcloud.container.clusters.create) ResponseError: code=403,message=Google计算引擎:项目//全局/网络/默认所需的'compute.networks.get‘权限。
当我使用web时,也会发生同样的情况。我的服务帐户和我的用户都有所有者角色。
为了使集群create命令正常工作,我尝试了以下方法:
gcloud projects add-iam-policy-binding <my-project> \
--member serviceAccount:<my-user>@<my-project>.iam.gserviceaccount.com \
--role roles/compute.admingcloud services enable container.googleapis.com
gcloud auth activate-service-account <my-user>@<my-project>.iam.gserviceaccount.com --key-file ${GOOGLE_APPLICATION_CREDENTIALS}gcloud auth login所有这些工作我都不能创建一个集群
发布于 2019-11-11 13:02:11
我想我会在这里回答我自己的问题。来自服务帐户文件
当您使用GCP控制台创建一个新的云项目时,如果为您的项目启用了Compute Engine API,默认情况下将为您创建一个Compute服务帐户。它可以通过电子邮件识别:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
我以某种方式删除了默认创建的服务帐户,并可能删除了相关角色。我想这就是为什么我不能在我的项目下创建一个集群了。与其设法重新创造,我决定最好只是开始一个新的项目。话说回来,集群创建API和控制台工作得很好。
发布于 2020-10-04 14:06:22
调试:
gcloud container subnets list-usable --project service-project --network-project shared-vpc-project如果在输出中得到警告:
WARNING: Failed to get metadata from network project. GCE_PERMISSION_DENIED:
Google Compute Engine: Required 'compute.projects.get' permission for
'projects/shared-vpc-project'这意味着您的google管理的gke服务帐户在主机项目中不存在。
要解决这个问题,请访问宿主项目API并启用Kubernetes引擎API。如果启用了,请禁用它,然后再次启用。
发布于 2019-11-08 15:51:53
我认为您应该设置计算引擎服务帐户权限:
gcloud projects add-iam-policy-binding <my-project> \
--member [PROJECT_NUMBER]-compute@developer.gserviceaccount.com \
--role roles/compute.adminhttps://stackoverflow.com/questions/58768924
复制相似问题