如何在 kube1.20.2 中更改 control-palne,主节点的名称



我成功地在vm中设置了一个控制平面主节点。然后我复制了虚拟机,试图将复制的虚拟机加入到现有的kubernete集群。

问题是原vm(node)的名称为new-master-1,复制的节点名称相同。即使执行Ivi /etc/hostname并将复制的虚拟机的名称更改为new-master-2,在复制的虚拟机中运行kubectl get nodes后,输出名称仍然是new-master-1:

root@new-master-2:/home/hzg# kubectl get nodes
NAME           STATUS   ROLES                  AGE   VERSION
new-master-1   Ready    control-plane,master   32h   v1.20.2

我想我只能在看到名称更改为new-master-2后将复制的vm作为另一个主节点加入集群,对吗?如何更改节点的名称?

TL;

运行:kubeadm join-根据kubeadm token create的输出调整此命令,并根据需要添加--control-plane--node-name等标志。在继续之前,先看一下kubeadm连接。


kubelet以特定名称注册节点。通常,您可以在Live Cluster中重新配置Node的Kubelet。但它不适用于更改Node的名称。如果您尝试使用kubectl edit node,您将得到一个错误:

error: At least one of apiVersion, kind and name was changed

有一个方法。您需要更改主机名,然后删除节点,重置并重新加入它。

步骤如下。在需要更改其名称的节点上:

  • 修改主机名

  • 运行:kubectl delete node <nodename>(注意您仍然必须使用旧的节点名称)

  • 运行:kubeadm reset(如果需要,作为root)

现在,在原来的主节点上:

  • Run:export KUBECONFIG=/path/to/admin.conf

  • Run:kubeadm token create --print-join-command

返回到重命名的Node:

  • 运行:kubeadm join-根据kubeadm token create的输出调整此命令,并根据需要添加--control-plane--node-name等标志。在继续之前,先看看kubeadm连接。

您可以查看此来源的教程视频。


例子:

kube-master:~$ kubectl get nodes
NAME          STATUS   
kube-master   Ready    
kube-node-1   Ready    
kube-node-2   Ready 

kube-master:~$ kubectl delete node kube-node-2
node "kube-node-2" deleted

kube-node-2:~$ sudo kubeadm reset
[reset] WARNING: Changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted.
[reset] Are you sure you want to proceed? [y/N]: y

kube-node-2:~$ sudo kubeadm join --node-name kube-node-22 <rest-of-the-join-command>
This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

kube-master:~$ kubectl get nodes
NAME           STATUS   
kube-master    Ready    
kube-node-1    Ready    
kube-node-22   Ready 

Result:kube-node-2的名称成功更改为kube-node-22

相关内容

  • 没有找到相关文章

最新更新