【问题标题】:Use Kubectl access *existing* GCP cluster使用 Kubectl 访问 *existing* GCP 集群
【发布时间】:2022-07-10 02:32:46
【问题描述】:

我已经能够通过 helm 部署东西,甚至可以直接使用 docker push 到 GCP 容器。但我不知道如何让kubectl 访问 GCP 集群。当我通过kubectl 搜索访问 GCP 集群时,它总是谈论创建一个新集群。我已经有一个了。我还在学习这个;所以在这个过程中,我能够让它与服务而不是用户一起工作。但是,我想强制我的kubectl(尤其是)使用我的 GCP 管理员用户。这是一个个人的一次性帐户;我不会在更严重的环境中采用这种方法。

如何告诉kubectl,嘿,以joe@example.com 登录?就此而言,我如何显示它试图用来进行身份验证的任何凭据(用户、服务等)?

【问题讨论】:

    标签: google-kubernetes-engine gcloud kubectl


    【解决方案1】:

    检查gcloud auth list 是否输出正确的帐户。

    您是否针对您的 GKE 集群进行了身份验证?

    检查kubectl config get-contexts 是否输出正确的集群上下文。

    您可以通过运行gcloud container clusters get-credentials <cluster name> --region <cluster region> --project <gcp project of cluster> 对您的集群进行身份验证

    【讨论】:

      【解决方案2】:

      要为 kubectl 存储集群信息,首先需要查看为 kubectl 配置的当前上下文。 Kubernetes 使用一个 config YAML 文件来存储集群认证,这个文件存储了一组称为上下文的访问参数;要查看此文件的内容,您可以使用以下命令:

      kubectl config view
      

      然后,我们需要检查为您的cluster 生成的kubeconfig file。 如果您还没有为您的集群生成kubeconfig 上下文,您可以运行以下命令:

      gcloud container clusters get-credentials CLUSTER_NAME
      

      生成 kubeconfig 后,您可以对集群运行单独的 kubectl 命令,因此您可以使用此命令将用户和密码添加到配置文件中:

      kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password
      

      注意:config-demo 必须替换为您的配置文件的名称。

      如果您在 Kubernetes 中访问 kubectl 时需要更多帮助,可以查看此公共 document

      【讨论】:

        猜你喜欢
        • 2018-10-19
        • 2021-02-10
        • 2021-07-20
        • 2019-05-10
        • 1970-01-01
        • 2016-07-18
        • 1970-01-01
        • 2020-02-20
        • 2019-07-19
        相关资源
        最近更新 更多