我在使用 Google 云控制台和 kubernates 时遇到问题
我有两个项目:
$ gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
telemetry Telemetry 571056202575
opex-prod OPEX 992345650242
如果我检查当前项目:
$ gcloud config get-value project
Your active configuration is: [cloudshell-20766]
telemetry
和我的命名空间列表(我将只显示我的命名空间,而不是默认和 kube* 的):
$ kubectl get namespace
NAME STATUS AGE
development Active 3d18h
所以,现在如果我想更改项目(具有不同的 pod 和命名空间):
$ gcloud config set project opex-prod
Updated property [core/project].
$ gcloud config get-value project
Your active configuration is: [cloudshell-20766]
opex-prod
但是如果我检查 opex-prox 项目上的命名空间,我将拥有其他项目的命名空间
$ kubectl get namespace
NAME STATUS AGE
development Active 3d18h
在opex-prod
我没有development
但是prod-a
如果我在 Google Cloud 仪表板中更改项目和命名空间,我可以看到正确的命名空间
我错过了什么??
答案 0 :(得分:2)
kubectl 命令根据 gcloud 项目配置不起作用。它们基于在您的本地环境中设置的 kubeconfig 工作。要将 kubeconfig 设置为指向特定项目的集群,请在更改 gcloud 项目配置后运行 gcloud container clusters get-credentials cluster-name
命令。阅读here了解更多信息。