kubectl
我创建了一个 GKE 集群并通过运行在我的集群上单击“连接”按钮时出现的命令连接到它。
gcloud container clusters get-credentials cluster-name --zone us-central1-a --project project-id
在$HOME/.kube/config
我看到以下条目:
- name: cluster-name
user:
auth-provider:
config:
cmd-args: config config-helper --format=json
cmd-path: /usr/lib64/google-cloud-sdk/bin/gcloud
expiry-key: '{.credential.token_expiry}'
token-key: '{.credential.access_token}'
name: gcp
为了添加一个新的命名空间,我做了以下事情:
kubectl config use-context cluster-name
kubectl create namespace demo
这会导致错误:
error: No Auth Provider found for name "gcp"
我重复了在 Google Cloud shell 中添加凭据的步骤。在那里,我能够成功创建一个新的命名空间。我注意到,access-token
andexpiry
字段是可见的。
auth-provider:
config:
access-token: omitted
cmd-args: config config-helper --format=json
cmd-path: /google/google-cloud-sdk/bin/gcloud
expiry: "2019-12-10T03:39:53Z"
expiry-key: '{.credential.token_expiry}'
token-key: '{.credential.access_token}'
name: gcp
因此,如何获得正确gcloud containers cluster get-credentials
更新我的命令kubeconfig
?