k8s集群—node节点的删除与添加
在搭建集群过程中,有时候会遇到一个节点处于ready状态,另一个节点处于notready状态,需要把node节点从集群中删除后再次加入。
·
在搭建集群过程中,有时候会遇到一个节点处于ready状态,另一个节点处于notready状态,需要把node节点从集群中删除后再次加入。
node节点删除
如果需要在k8s集群中删除节点,首先需要在master节点上删除该节点的相关数据,再删除该节点,接着在该节点上进行reset操作,接着删除相关文件。
1. 在master上查看所有node节点
[root@master ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 23h v1.17.4
node01 Ready <none> 23h v1.17.4
node02 NotReady <none> 23h v1.17.4
可以看到node2处于NotReady状态,我们把node2删除重新加入集群。
2. 在主节点上删除node2节点
# 在主节点上驱逐该node节点上的Pod
kubectl drain node02 --delete-local-data --force --ignore-daemonsets
# 在主节点上删除该node节点
kubectl delete node node02
3. 在node02节点上清空集群信息
# 重置k8s
kubeadm reset
# 删除残留的文件
rm -rf /etc/kubernetes/*
# 清除iptables或者ipvs的配置
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
ipvsadm --clear
如果删除的是master节点,还需要删除用户目录下的.kube
文件
rm -rf ~/.kube
最后重启设备。
添加node节点
# node节点上删除之前的证书
rm -f /opt/kubernetes/ssl/kubelet*
# 重启kubelet
systemctl restart kubelet
# 在主节点上生成一个证书
kubeadm token create --print-join-command
kubeadm token create --print-join-command --ttl=0 # 此命令可以生成一个永久性的token
在node节点上执行token命令
kubeadm join 192.168.2.104:6443 --token f5pth3.fm2oupz828pl70s4 --discovery-token-ca-cert-hash sha256:5fd5bfbef1ed2d48b872cd95beb99a7a470582d28cc499ba577b8bbd9c2e7735
在主节点上查看node检查是否添加成功
kubectl get nodes
更多推荐
已为社区贡献13条内容
所有评论(0)