0

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

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

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

4

2 回答 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
于 2017-12-27T18:42:31.527 回答
0

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

于 2017-12-27T08:40:44.983 回答