jer*_*ean 4 google-cloud-platform gcloud google-kubernetes-engine kubectl
我有 2 个 gmail 帐户,每个帐户与 2 个单独的 GCP 帐户相关联。为了从命令行切换帐户,过去两周左右我一直在使用这两个命令:
$ gcloud config configurations activate ACCT_NAME
$ kubectl config set-context CONTEXT
Run Code Online (Sandbox Code Playgroud)
注意:我也一直在使用“kubectx”,它比使用“kubectl config set-context”更容易切换上下文;基本上它的打字少了一点。'kubectl config set-context' 和 'kubect' 过去都工作过(我认为)。
直到今天早上,这种方法似乎一直运行良好。我尝试从上下文 A 切换到上下文 B,但现在我收到如下错误:
$ kubectl get pods -A
Error from server (Forbidden): pods is forbidden: User "<my_email_address>" cannot list resource "pods" in API group "" at the cluster scope: Required "container.pods.list" permission.
Run Code Online (Sandbox Code Playgroud)
显示的电子邮件地址用于上下文 A,而不是上下文 B。我检查了以下命令以验证当前(或活动)上下文和电子邮件帐户是否正确:
$ kubectl config current-context
$ gcloud config configurations list
Run Code Online (Sandbox Code Playgroud)
所以当前的上下文、帐户和关联的电子邮件地址是正确的。我不清楚为什么 kubectl 仍在尝试使用来自上下文 A(而不是上下文 B)的电子邮件帐户访问 GKE。
有什么想法吗?
所以我在几周前发布了这个问题:
https://serverfault.com/questions/997220/kubectl-not-showing-new-context-created-in-gcp
无论出于何种原因,我都必须重新运行此命令才能使事情再次运行:
$ gcloud container clusters get-credentials NAME
Run Code Online (Sandbox Code Playgroud)
注意:您可以从此命令“gcloud container clusters list”获取集群名称
我不知道为什么我必须重新运行 get-credentials。我不相信我的凭据改变了;这花了我一段时间才弄明白。
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |