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