【发布时间】:2020-06-05 09:10:49
【问题描述】:
在工作中,我们使用托管在 GCP 中的 Kubernetes。我还在我的个人 GCP 帐户中使用 Google App Engine 托管了一个辅助项目(使用 gcloud app deploy 部署)。
当我尝试运行诸如kubectl logs -f service-name 之类的命令时,经常会收到类似“来自服务器的错误(禁止):pod 被禁止:用户“my_personal_email@gmail.com”无法在 API 中列出资源“pod”之类的错误命名空间“WORK_NAMESPACE”中的组“”:需要“container.pods.list”权限。然后我必须与 kubectl 斗争几个小时才能让它发挥作用。
有人可以为我这样的慢人分解一下,gcloud 和 kubectl 如何协同工作,以及我如何轻松切换帐户以便我可以将gcloud 命令用于我的个人项目和kubectl我的工作项目的命令?如果需要的话,我很高兴对我的整个配置进行核对并从头开始。我找到了各种 kubectl 和 gcloud 文档,但它没有多大意义或圈子讨论。
编辑:这是在 Linux 上。
【问题讨论】:
-
哪个操作系统。为什么不创建两个不同的登录名,然后切换终端窗口(如果在 Linux 上)。对于 Windows,将您的设置移动到批处理脚本并为每个环境打开不同的命令提示符。第一步是定义正确设置每个环境的命令。您不必为切换而苦苦挣扎。
-
看看我写的这篇文章。您可以通过多种方式满足您的需求:medium.com/google-cloud/…
-
kubectl 的另外两个特性:您可以创建多个配置,然后为每个环境设置
KUBECONFIG;您可以在上下文中包含命名空间,因此您不仅可以默认使用特定的集群和身份验证对,还可以使用默认命名空间。 -
这也是关于
gcloud如何与kubectl一起使用的:medium.com/google-cloud/…
标签: kubernetes google-cloud-platform gcloud kubectl