【问题标题】:GCP K8s (kubectl) error message (Required "container.leases.get" permission)GCP K8s (kubectl) 错误消息(需要“container.leases.get”权限)
【发布时间】:2020-04-02 20:31:55
【问题描述】:

运行一些 kubectl 命令(GCP 命令行 - gcloud)后,我收到一条错误消息。我在 GKE 中创建了一个 K8S 集群。

例子:

kubectl 描述节点

gke_k8s_cluster_name 服务器错误(禁止):leases.coordination.k8s.io "gke_k8s_cluster_name" 被禁止:用户 "MY_SERVICE_ACCOUNT" 无法在命名空间 "kube-node-lease" 中的 API 组 "coordination.k8s.io" 中获取资源 "leases" :需要“container.leases.get”权限。

关键是 IAM 中没有列出“container.leases.get”权限(作为自定义权限或常规角色)。

如何向 GCP 中的服务帐号授予该权限?

谢谢, 何塞

【问题讨论】:

  • 由于租用是最近的一项功能,您能知道您使用的是哪个 GKE 版本吗?
  • 您好,感谢您的提问。它说 1.14.10-gke.27 (default) - 静态版本。

标签: kubernetes google-cloud-platform google-kubernetes-engine kubectl google-iam


【解决方案1】:

您可能需要在 GCP IAM 和 GKE 端向自己授予额外权限,例如:

PROJECT_ID=$(gcloud config get-value core/project)
USER_ID=$(gcloud config get-value core/account)
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member=user:${USER_ID} --role=roles/container.admin
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user ${USER_ID}

另见GCP IAM & GKE RBAC integration

【讨论】:

  • 非常感谢亚历克斯!原始问题(错误消息)已修复。我可以顺利执行 kubectl CLI 命令!
猜你喜欢
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
  • 2022-12-04
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
相关资源
最近更新 更多