我在谷歌容器引擎上有两个kubernetes集群,但在单独的谷歌帐户上(一个使用我公司的电子邮件,另一个使用我的个人电子邮件)。我试图从一个集群切换到另一个集群。我是这样做的:
使用我的其他电子邮件地址登录
$ gcloud init
获取新的kubectl凭据
gcloud container cluster get-credentials
测试是否连接到新群集
$ kubectl get po
但是,我仍然无法获得群集中的kubernetes资源。我收到的错误是:
the server doesn't have a resource type "pods"
答案 0 :(得分:3)
这是因为虽然我使用新凭据登录... kubectl并未使用新凭据。要更改kubectl用于访问群集的登录/访问凭据,您需要运行以下命令:
gcloud auth application-default login
然后您将收到以下回复:
Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth
redirect_uri=http%3A%2F%2Flocalhost%3A8085%2F&prompt=select_account&respons
e_type=code&client_id=...&
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email
+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&access_type=offline
Credentials saved to file: [/Users/.../.config/gcloud/application_default_credentials.json]
These credentials will be used by any library that requests
Application Default Credentials.
然后获取群集凭据
gcloud container clusters get-credentials [cluster name/id]
您现在应该可以使用kubectl访问群集。