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

时间:2017-12-27 03:19:19

标签: kubernetes kubectl kubeadm

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

  1. 从kubeadm生成的kubectl配置文件使用相同的用户名,群集名称和上下文名称,因此我不能简单地下载它们并将它们添加到$KUBECONFIG
  2. 没有用于重命名群集或用户的kubectl命令。
  3. 从kubeadm生成的配置文件具有client-key-data和client-certificate-data属性。创建新用户或群集时,这些不是kubectl识别的字段。
  4. 通过kubeadm创建的集群似乎不允许通过简单的用户名和密码进行访问。它似乎需要证书信息。
  5. 似乎我只能通过字符串操作(粗略)修改~/.kube/config文件的内容,我想避免!!有人有解决方案吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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