首页 文章

“gcloud容器集群创建”命令抛出“错误必需'compute.networks.get'”

提问于
浏览
1

我想通过gcloud命令创建GKE集群 . 但我无法解决这个错误:

$ gcloud container clusters create myproject --machine-type=n1-standard1# --zone=asia-northeast1-a

ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Google 
Compute Engine: Required 'compute.networks.get' permission for 
'projects/myproject/global/networks/default'

链接到我的Gmail的 Cloud 帐户是项目的所有者和相对权力,所以我预计权限没有问题 .

1 回答

  • 0

    通过 $ gcloud container clusters create 命令创建集群时,请记住隐藏了数百个操作 .

    如果您拥有所有者权限,那么您可以将初始"Kick"提供给流程以使一切都开始 . 此时Service accounts开始进入流程,他们会自动为您创建所有资源 .

    这些服务帐户具有不同的权限和权限(可以自定义),以便在其中一个受到攻击并且保持某种顺序的情况下限制攻击面,您将拥有例如 ****-compute@developer.gservuceaccount.com 这是一个默认计算引擎服务帐户 .

    当您启用不同的API时,可以创建其中一些服务帐户,以使组件按预期工作,但如果其中一个被删除或修改,您可能会遇到一个您遇到的错误 .

    通常,解决问题的最简单方法是重新创建服务帐户,例如删除它并禁用启用相应的API .

    • 例如,当您启用Kubernetes引擎 service-****@container-engine-robot-iam-gaservice account is created

    例如,在我的测试项目中,我修改了它们,删除了“Kubernetes Engine服务代理”权限,我修改了Google API服务帐户,将其设置为“项目查看器”,我面临创建和删除群集的权限问题 .

    您可以浏览 IAM&Amin-->admin 以检查状态以及项目中授权的当前服务帐户 .

    • Here您可以找到一些默认服务帐户的更深层次的解释 .

    • Here您可以找到有关如何重新启用Kubernetes Engine默认服务帐户的小指南:

    “如果从服务帐户中删除此角色绑定,则默认服务帐户将从项目中解除绑定,这可能会阻止您部署应用程序并执行其他群集操作 . ”

相关问题