Kubernetes 新手。如何在 kubeadm init 之后重命名集群。默认集群名称是 kubenetes,我想将其重命名为更有意义的名称。搜索了所有地方,找不到任何说明。谢谢!
答案1
正如你所读到的这里:
在 期间
kubeadm init
,kubeadm 将对象上传到命名空间中ClusterConfiguration
名为 的 ConfigMap 中的集群。然后在、和期间读取此配置 。要查看此 ConfigMap,请调用。kubeadm-config
kube-system
kubeadm join
kubeadm reset
kubeadm upgrade
kubeadm config view
除此之外,kubeadm config view
您还可以使用kubectl get configmaps -n kube-system kubeadm-config -o yaml
它来查看此内容ConfigMap
。
只需编辑即可更改 kubernetes 集群名称 kubeadm-config
ConfigMap
使用以下命令:
kubectl edit configmaps -n kube-system kubeadm-config
改变字段的值clusterName
例如:
clusterName: new-fancy-kubernetes-clustername
保存文件更改后,您将看到编辑成功的确认:
configmap/kubeadm-config edited
现在您可以使用命令查看新的集群名称kubeadm config view
:
# kubeadm config view
...
clusterName: new-fancy-kubernetes-clustername
...
或者这样:
# kubectl get configmaps -n kube-system kubeadm-config -o yaml
...
clusterName: new-fancy-kubernetes-clustername
...
从kubectl
你的角度来看kubernetes 集群可以与 中的命名完全不同kubeadm-config
ConfigMap
。它们是独立配置的。实际上,在.kube/config
文件中,您可以引用您的簇clusters
您可以使用任何您想要的名称,但您需要在部分中进行更改contexts
。请看下面的示例:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: ...
server: https://10.123.0.2:6443
name: yet-another-fancy-name
contexts:
- context:
cluster: yet-another-fancy-name
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: ...
您可能还想更改上下文名称以反映当前集群名称,但您不必这样做。您可以只是为了保持一致性而这样做:
contexts:
- context:
cluster: yet-another-fancy-name
user: kubernetes-admin
name: kubernetes-admin@yet-another-fancy-name
current-context: kubernetes-admin@yet-another-fancy-name
答案2
我遇到过类似的情况,需要远程管理两个集群,因此我决定使用库贝克工具。我使用的是 kubectx 0.9.4 版本。
我创建了一个.bash_配置文件文件(我没有)并添加库贝康菲指向我的集群的两个配置文件的变量。我的集群是使用kubeadm最初创建时没有指定具体名称。这在尝试使用 kubectx 时产生了问题,因为当我使用 kubectx 时,它只显示一个集群。
为了解决这个问题,我必须更改上下文块中的上下文名称
- context:
cluster: new-name
user: kubernetes-admin
name: kubernetes-admin@new-name
current-context: kubernetes-admin@new-name
然后 kubectx 就可以列出我的两个集群。