首页 文章

不使用gcloud工具将kubectl的本地实例连接到GKE集群?

提问于
浏览
3

有没有人知道如何在不在本地使用 gcloud 工具的情况下将 kubectl 的本地实例连接到Google Kubernetes Engine(GKE)群集?

For example:

如果在此命令中使用 gcloud 工具:

gcloud container clusters get-credentials NAME [--zone=ZONE, -z ZONE] [GCLOUD_WIDE_FLAG …]

你会在 ~/.kube/config 找到这样的用户:

- name: gke_myproj_myzone
  user:
    auth-provider:
      config:
        access-token: TOKENSTRING
        cmd-args: config config-helper --format=json
        cmd-path: /google/google-cloud-sdk/bin/gcloud
        expiry: 2018-01-22 18:05:46
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp

如您所见,默认值 gcloud 工具提供了 glcoud 工具作为身份验证提供程序登录到您的群集 .

现在,我正在寻找的是一种将 kubectl 连接到机器上的集群的方法,该集群没有安装 gcloud .

1 回答

  • 3

    实现此目的的最简单方法是将 ~/.kube/config 文件(从gcloud身份验证的实例)复制到本地实例(笔记本电脑)中的此目录 $HOME/.kube .

    但首先,使用经过身份验证的实例,您必须通过运行以下命令为此document启用旧群集:

    gcloud config set container/use_client_certificate True
    export CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFICATE=True
    

    然后执行 get-credentials 命令,并复制该文件 .

    gcloud container clusters get-credentials NAME [--zone=ZONE, -z ZONE] [GCLOUD_WIDE_FLAG …]
    

    请注意,您可能必须运行 get-credentials 命令,并在每次身份验证令牌(保存在配置文件中)到期时复制配置文件 .

相关问题