我尝试在 Google Cloud Platform 中创建 Kubernetes 集群,当我尝试从 Web 应用创建集群时收到以下错误:
An unknown error has occurred in Compute Engine: "EXTERNAL: Google Compute Engine: Required 'compute.zones.get' permission for 'projects/my-project-198766/zones/us-west1-a'". Error code: "18"
当我使用 gcloud 时,我收到以下响应:
(gcloud.container.clusters.create) ResponseError: code=403, message=Google Compute Engine: Required 'compute.zones.get' permission for 'projects/my-project-198766/zones/us-west1-a'
请注意,我拥有所有者角色,并且可以毫无问题地创建虚拟机实例。
有什么想法吗?
最佳答案
如果您的云服务机器人作为项目编辑器被删除,则可能会出现此类问题。我最好的猜测是,在你的情况下,这就是问题所在。
发生这种情况的原因可能是 API 调用的 SetIamPolicy 缺少“角色/编辑器”绑定(bind)中的云服务机器人。 SetIamPolicy 是一个直接的 PUT,它将覆盖请求中提供的任何策略。您可以使用以下命令获取项目的 IAM 策略列表:given in this article .
gcloud projects get-iam-policy [project-id]
从列表中,您可以检查以下服务帐户是否具有编辑者权限。
[id]@cloudservices.gserviceaccount.com
要解决此问题,您可以 grant the mentioned service account “编辑者”权限并检查是否解决了问题。
希望这有帮助。
关于google-cloud-platform - 谷歌计算引擎: Required 'compute.zones.get' permission error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232189/