无法使用 kubectl 管理集群 - "failed to negotiate an api version"

Unable to use kubectl to administer cluster - "failed to negotiate an api version"

我尝试在通过云控制台创建集群后在本地使用 kubectl,但我一直收到错误消息。以下是我采取的步骤:

通过云控制台

gcloud containers cluster create test

本地

gcloud container clusters get-credentials test

kubectl cluster-info

我收到以下错误:

error: failed to negotiate an api version; server supports: map[], client supports: map[componentconfig/v1alpha1:{} rbac.authorization.k8s.io/v1alpha1:{} authentication.k8s.io/v1beta1:{} apps/v1alpha1:{} batch/v1:{} authorization.k8s.io/v1beta1:{} autoscaling/v1:{} batch/v2alpha1:{} v1:{} extensions/v1beta1:{} policy/v1alpha1:{} federation/v1beta1:{}]

下面是kubectl版本的输出

Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.5", GitCommit:"b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5", GitTreeState:"clean", BuildDate:"2016-08-11T20:29:08Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"windows/amd64"}

以下摘自 kubectl cluster-info --v=8

的输出

212 request.go:891] Response Body: Forbidden: "/api"

非常感谢任何帮助

运行 再次使用 --v=8 查看所有网络调用的踪迹

我终于找到了解决方法。我在我的本地机器上设置了两组授权,我使用以下方法选择了其中一组:

gcloud config set account

gcloud config set project

gcloud container get-credentials

上述步骤导致了原始问题中显示的错误。如果我执行以下步骤,它将起作用:

gcloud auth login

gcloud config set project

gcloud container get-credentials

所以,我猜 auth login 做了一些 config set account 没有做的事情。有没有人有任何见解?