如何将本地kubectl设置为指向使用kubeadm创建的2个以上的群集?

问题描述 投票:0回答:2

在尝试让我的本地kubectl指向使用kubeadm创建的集群时,我遇到了一些问题:

  1. 从kubeadm生成的kubectl配置文件使用相同的用户名,群集名称和上下文名称,因此我不能简单地下载它们并将它们添加到$KUBECONFIG
  2. 没有用于重命名群集或用户的kubectl命令。
  3. 从kubeadm生成的配置文件具有client-key-data和client-certificate-data属性。创建新用户或群集时,这些不是kubectl识别的字段。
  4. 通过kubeadm创建的集群似乎不允许通过简单的用户名和密码进行访问。它似乎需要证书信息。

似乎我只能通过字符串操作(粗略)修改~/.kube/config文件的内容,我想避免!有人有解决方案吗?

kubernetes kubectl kubeadm
2个回答
1
投票

您可以选择为群集使用不同的配置文件。为每个集群创建一个文件并将它们放在一个目录中(我使用~/.kube)为它们提供有意义的名称,以帮助您区分它们(例如,您可以使用集群标识符)。

然后,您可以设置KUBECONFIG环境变量,以便在运行kubectl时选择其他配置文件,例如:

KUBECONFIG=/path/to/the/config/file kubectl get po

您还可以在您喜欢的shell中创建别名,以避免编写上述所有命令。

alias mykube="KUBECONFIG=/path/to/the/config/file kubectl get po"
mykube get po

0
投票

目前,据我所知,没有工具可以自动将不同的kube配置文件合并为一个,这实际上是你需要的。我个人用文本编辑器手动操作.kube / config。最终并没有那么多工作。

© www.soinside.com 2019 - 2024. All rights reserved.