Kubenetes 删除节点后重新添加节点

Kubernetes 官方添加删除方法请点击此处

Kubernetes 官方添加删除方法

一、排干(Drain)需要删除的节点(Master上操作)

1.1 操作前查看

[root@master-1 ~]# kubectl get nodes
NAME                   STATUS   ROLES                  AGE   VERSION
master-1.for-best.cn   Ready    control-plane,master   23h   v1.21.2
node-1.for-best.cn     Ready    <none>                 22h   v1.21.2
node-2.for-best.cn     Ready    <none>                 22h   v1.21.2
node-3.for-best.cn     Ready    <none>                 22h   v1.21.2

1.2 操作命令

 kubectl drain node-1.for-best.cn --delete-local-data --force --ignore-daemonsets

1.3 操作后查看

Flag --delete-local-data has been deprecated, This option is deprecated and will be deleted. Use --delete-emptydir-data.
node/node-1.for-best.cn cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-flannel-ds-rjx5q, kube-system/kube-proxy-z55bl
node/node-1.for-best.cn drained

[root@master-1 ~]# kubectl get nodes
NAME                   STATUS                     ROLES                  AGE   VERSION
master-1.for-best.cn   Ready                      control-plane,master   23h   v1.21.2
node-1.for-best.cn     Ready,SchedulingDisabled   <none>                 22h   v1.21.2
node-2.for-best.cn     Ready                      <none>                 22h   v1.21.2
node-3.for-best.cn     Ready                      <none>                 22h   v1.21.2

二、重置删除的节点(需要删除的节点上操作)

2.1 重置操作

 kubeadm reset

2.2 操作输出查看,可忽略

[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
[preflight] Running pre-flight checks
W0709 16:32:03.731511   23599 removeetcdmember.go:79] [reset] No kubeadm config, using etcd pod spec to get data directory
[reset] No etcd config found. Assuming external etcd
[reset] Please, manually reset etcd to prevent further issues
[reset] Stopping the kubelet service
[reset] Unmounting mounted directories in "/var/lib/kubelet"
[reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
[reset] Deleting contents of stateful directories: [/var/lib/kubelet /var/lib/dockershim /var/run/kubernetes /var/lib/cni]

The reset process does not clean CNI configuration. To do so, you must remove /etc/cni/net.d

The reset process does not reset or clean up iptables rules or IPVS tables.
If you wish to reset iptables, you must do so manually by using the "iptables" command.

If your cluster was setup to utilize IPVS, run ipvsadm --clear (or similar)
to reset your system's IPVS tables.

The reset process does not clean your kubeconfig files and you must remove them manually.
Please, check the contents of the $HOME/.kube/config file.

三、清理节点iptables表(需要删除的节点上操作)

 iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

四、清理ipvsadm的表(需要删除的节点上操作)

ipvsadm -C

五、从Master删除节点(Master上操作)

5.1 删除操作命令

kubectl get nodes
NAME                   STATUS                        ROLES                  AGE   VERSION
master-1.for-best.cn   Ready                         control-plane,master   23h   v1.21.2
node-1.for-best.cn     NotReady,SchedulingDisabled   <none>                 22h   v1.21.2
node-2.for-best.cn     Ready                         <none>                 22h   v1.21.2
node-3.for-best.cn     Ready                         <none>                 22h   v1.21.2
[root@master-1 ~]# kubectl delete node node-1.for-best.cn
node "node-1.for-best.cn" deleted
[root@master-1 ~]# kubectl get nodes
NAME                   STATUS   ROLES                  AGE   VERSION
master-1.for-best.cn   Ready    control-plane,master   23h   v1.21.2
node-2.for-best.cn     Ready    <none>                 22h   v1.21.2
node-3.for-best.cn     Ready    <none>                 22h   v1.21.2
[root@master-1 ~]# 

六、重新加入Master中做为集群的一部分(可选)

6.1 Worker加入到集群(以下命令不可直接复制,根据自己的环境来)

 kubeadm join cluster-endpoint.microservice.for-best.cn:6443 --token ii44ya.n4ryb3yka0q09fq3         --discovery-token-ca-cert-hash sha256:67318db78eef549400d515ed239ca3dbf85d5195e4ba6c13b61854f497278b39 
[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...

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.


[root@master-1 ~]# kubectl get nodes
NAME                   STATUS   ROLES                  AGE   VERSION
master-1.for-best.cn   Ready    control-plane,master   23h   v1.21.2
node-1.for-best.cn     Ready    <none>                 17s   v1.21.2
node-2.for-best.cn     Ready    <none>                 22h   v1.21.2
node-3.for-best.cn     Ready    <none>                 22h   v1.21.2
[root@master-1 ~]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值