使用gcloud创建GKE集群遇403错误:需compute.networks.get权限
compute.networks.get权限报错(项目所有者身份) 我之前也碰到过一模一样的情况——明明是项目所有者,创建GKE集群时却触发了这个403权限错误,折腾了好一会儿才找到几个可行的解决方向,分享给你:
先确认当前gcloud使用的账号是否正确
有时候我们会在多个谷歌账号间切换gcloud身份,自己却没留意。执行下面的命令检查当前活跃账号:gcloud config get-value account如果输出的邮箱不是你的项目所有者账号,用
gcloud config set account your-owner-email@gmail.com切换过去再试。刷新身份认证缓存
谷歌云的权限偶尔会有缓存延迟,尤其是刚赋予所有者角色不久的情况。可以先撤销当前认证,重新登录:gcloud auth revoke gcloud auth login重新登录后再执行集群创建命令,大概率能解决权限缓存的问题。
检查默认网络的IAM权限设置
虽然你是项目所有者,但默认VPC网络的权限可能被手动修改过。去云控制台的「VPC网络」页面,找到default网络,进入它的IAM设置面板,确认你的账号是否拥有Compute Network User(或直接是Owner)权限。如果没有,手动添加这个权限后再尝试创建集群。显式指定网络创建集群
尝试在创建命令里显式指定默认网络,有时候能绕过自动权限检查的小问题:gcloud container clusters create myproject --machine-type=n1-standard1 --zone=asia-northeast1-a --network=default排查组织政策限制(如果项目属于组织)
如果你的项目隶属于某个谷歌云组织,可能组织层面的政策限制了默认网络的使用。去云控制台的「组织政策」页面,搜索「Compute Network Usage Restrictions」,查看是否有政策禁止使用默认网络。如果有,要么调整政策,要么创建一个新的VPC网络来部署集群。
内容的提问来源于stack exchange,提问作者pencilrocketman

