我正在使用谷歌 Cloud Kubernetes服务它正在工作,直到我意外删除kubernetes服务帐户的服务帐户 . 我创建了kubernetes服务帐户 . 我无法连接到节点删除或删除我的群集 . 似乎是许可问题 . 也无法删除计算机引擎 . 当我删除kubernetes集群后出现错误
(1)Google Compute Engine:'projects / projectid / global / firewalls / gke-kubeworld-383ec9cd-vms'所需的'compute.firewalls.delete'权限(2)Google Compute Engine:必需'compute.firewalls.delete' 'projects / projectid / global / firewalls / gke-kubeworld-383ec9cd-ssh'的许可(3)Google Compute Engine:'projects / projectid / global / firewalls / gke-kubeworld-383ec9cd'的'compute.firewalls.delete'权限-all'(4)Google Compute Engine:'projects / projectid / zones / us-central1-a / instanceGroupManagers / gke-kubeworld-default-pool-90dd280e-grp'(5.1)的'compute.instanceGroupManagers.delete'权限Google Compute Engine:'projects / projectid'所需的'compute.routes.list'权限(5.2)Google Compute Engine:'projects / projectid'所需的'compute.projects.get'权限
如何配置或授予访问权限以允许这些权限 .
2 回答
重新创建后,您的服务帐户将丢失角色 .
首先,使用
gcloud auth login
并登录GCE帐户 .创建新服务帐户后,需要为其分配角色 .
在这种情况下,错过了“roles / compute.admin”角色,需要重新分配 . 我假设您知道您创建的服务帐户的名称 .
它可能有所帮助:
它在AIM roles documentation描述 .
编辑:我发现这是另一种解决方法:
这些错误还取决于项目的总体情况 . Compute Engine服务帐户管理大量服务,因此在删除它时,错误会有不同的风格 .
当我删除SA时,我总是做同样的事情,作为第一步 . 我没有继续手动创建服务帐户,而是启用了需要Compute Engine API的API,例如Dataproc API . 这应该重新创建Compute Engine服务帐户,在这种情况下,因为它是相关的,它还重新创建了Kubernetes Engine服务帐户 .
重新创建这些帐户后,您应该有不同的错误,因为现在SA就在那里,但是群集期望的令牌/凭证可能是旧的,但现在您传递的是新令牌 .
您能否确认这样做会得到相同的错误或不同?收到此信息后,我会编辑帖子 .