.kube/config 中没有访问令牌

Mar*_*kNS 5 gcloud kubernetes google-kubernetes-engine kubernetes-security

在 GKE 中升级我的集群后,仪表板将不再接受证书身份验证。

没问题,我的同事说 .kube/config 中有可用的令牌

  user:
    auth-provider:
      config:
        access-token: REDACTED
        cmd-args: config config-helper --format=json
        cmd-path: /home/user/workspace/google-cloud-sdk/bin/gcloud
        expiry: 2018-01-09T08:59:18Z
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp
Run Code Online (Sandbox Code Playgroud)

除了在我的情况下没有...

  user:
    auth-provider:
      config:
        cmd-args: config config-helper --format=json
        cmd-path: /home/user/Dev/google-cloud-sdk/bin/gcloud
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp
Run Code Online (Sandbox Code Playgroud)

我尝试使用 gcloud 重新进行身份验证、与同事比较 gcloud 设置、更新 gcloud、重新安装 gcloud、检查 Cloud Platform 中的权限。几乎所有我能想到的东西,仍然不会生成访问令牌。

有人可以帮忙吗?!

 $ gcloud container clusters get-credentials cluster-3 --zone xxx --project xxx                            
Fetching cluster endpoint and auth data.
kubeconfig entry generated for cluster-3.

$ gcloud config list                                                                                                    
[core]
account = xxx
disable_usage_reporting = False
project = xxx

Your active configuration is: [default]

$ kubectl version                                                                                                                    
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4"
Run Code Online (Sandbox Code Playgroud)

Mar*_*kNS 6

好的,非常烦人和愚蠢的答案 - 您必须使用 kubectl 发出任何请求才能生成令牌并将其保存到 kubeconfig 文件中。