Jos*_*Fox 5 google-cloud-platform gcloud google-kubernetes-engine
在我的笔记本电脑上,我能够执行大多数gcloud命令,例如创建集群和许多其他命令。我有项目所有者角色。
但是当我尝试获取 K8s 集群的凭据时,出现权限错误。但在 Cloud Shell 中,该命令会成功。
两者的登录帐户相同。
% gcloud container clusters get-credentials my-first-cluster-1 --zone us-central1-c --project my-project
Fetching cluster endpoint and auth data.
ERROR: (gcloud.container.clusters.get-credentials) get-credentials requires edit permission on my-project
$ gcloud config list account --format "value(core.account)"
<MY EMAIL>
Run Code Online (Sandbox Code Playgroud)
但是在 Cloud Shell 中,这成功了!
$ gcloud container clusters get-credentials my-first-cluster-1 --zone us-central1-c --project my-project
Fetching cluster endpoint and auth data.
kubeconfig entry generated for my-first-cluster-1.
$ gcloud config list account --format "value(core.account)"
<MY EMAIL>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,错误消息确实不正确并且不是很有帮助。当 gcloud 配置值container/use_client_certificate设置为True但未配置客户端证书时,会出现此问题(请注意,客户端证书是旧式身份验证方法,默认情况下对于使用 GKE 1.12 及更高版本创建的集群禁用。)。False通过以下 gcloud 命令将其设置为可解决此问题:
gcloud config set container/use_client_certificate False
Run Code Online (Sandbox Code Playgroud)
此配置值False在 Cloud Shell 中默认设置为,这说明了您遇到的不同行为。
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |