如果集群出错需要进行重置
主节点
kubectl cordon k8s-node01
##标记节点为不可调度
kubectl cordon k8s-node02
kubectl drain k8s-node01 --ignore-daemonsets
##驱逐指定节点的pod(pod会重新运行在其他节点)如果报错再加一个--force和--delete-local-data
kubectl drain k8s-node02 --ignore-daemonsets
所有节点删除网络插件
kubectl delete nodes k8s-node01
kubectl delete nodes k8s-node02
ip a
如果有 cni0 与 flannel.1 需要把网卡进行删除
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
# 如果还有ipvs也需要进行删除
rm -rf /etc/kubernetes/*
kubeadm reset
rm -rf /etc/kubernetes/*
rm -rf ~/.kube/*
rm -rf /var/lib/etcd/*
rm -rf /var/lib/cni/
rm -fr /etc/cni/net.d
重新使用kubeadm init初始化即可
node(所有node节点):
systemctl stop kubelet
rm -rf /etc/kubernetes/*
kubeadm reset
ip a
如果有 cni0 与 flannel.1 需要把网卡进行删除
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
# 如果还有ipvs也需要进行删除
本文介绍了如何在Kubernetes集群遇到错误时,通过标记节点为不可调度、驱逐Pod、删除网络插件、清理kubelet配置和etcd数据,以及重新初始化的过程。

1449

被折叠的 条评论
为什么被折叠?



