无法在新的 GKE 集群上创建集群角色绑定

Leo*_*o Y 3 google-kubernetes-engine

我配置了一个禁用基本身份验证的托管 GKE 集群(Kubernetes 版本 1.9.4-gke.1)。当我尝试创建 RBAC 配置(用于运行我的入口控制器)时,出现以下错误: Error from server (Forbidden): clusterrolebindings.rbac.authorization.k8s.io is forbidden: User "XXX@gmail.com" cannot create clusterrolebindings.rbac.authorization.k8s.io at the cluster scope: Required "container.clusterRoleBindings.create" permission.

我发现两个相关问题:

  1. 集群管理的 GKE 集群角色绑定失败并出现权限错误
  2. 用户“xxx”无法在集群范围内创建 clusterrolebindings.rbac.authorization.k8s.io

第一个包含为集群启用基本身份验证时的解决方案,但这不是我的情况。第二个问题没有答案。

我的用户不是 GCP 项目的所有者,但editor在该项目中具有角色。我发现其他人也观察到了这种行为。

请告知当集群禁用基本身份验证时,如何在 GKE 集群上添加缺少的权限或以其他方式定义的 RBAC。

CJ *_*len 6

要创建它ClusterRoleBinding,调用者必须拥有container.clusterRoleBindings.createGCP IAM 的权限。只有OWNERIAMKubernetes Admin角色包含该权限(因为它允许修改 GKE 集群上的访问控制)。

因此,为了允许person@company.com运行该命令,必须向他们授予这些角色之一。我推荐的Kubernetes Admin角色:

gcloud projects add-iam-policy-binding $PROJECT --member=user:person@company.com --role=roles/container.admin
Run Code Online (Sandbox Code Playgroud)