卸载k8s
rm -rf /var/lib/kubelet ; \
rm -rf /var/lib/dockershim ; \
rm -rf /var/lib/etcd ; \
rm -rf /var/lib/cni
kubeadm reset -f ;\
rm -rf ~/.kube/ ;\
rm -rf /etc/kubernetes/ ;\
rm -rf /etc/cni ;\
ifconfig cni0 down ; ifconfig flannel.1 down ; ip link delete cni0 ; ip link delete flannel.1
k8s集群不清理数据重置
在集群出现问题无法恢复或者更换IP时可以使用,
首先记录给节点设置的label,因为恢复后label消失,需要重新设置label
1 登陆master节点停止kubelet
systemctl stop kubelet
2 清理容器
docker ps -a |grep k8s |awk '{print $1}' | xargs docker rm -f
3 清理挂载点
df -h |grep kubelet |awk '{print $6}' |xargs umount
4 备份配置文件,将 pki 证书目录保留下来
mv /etc/kubernetes /etc/kubernetes-bak \
&& mkdir -p /etc/kubernetes \
&& cp -r /etc/kubernetes-bak/pki /etc/kubernetes && rm -f /etc/kubernetes/pki/{apiserver.*,etcd/peer.*}
5 重置master节点
--ignore-preflight-errors=DirAvailable--var-lib-etcd参数表示使用ectd的旧数据
kubeadm init \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--apiserver-advertise-address IP地址 \
--token-ttl 0 \
--pod-network-cidr 10.244.0.0/16 \
--service-cidr 10.96.0.0/12 \
--kubernetes-version 1.23.6 \
--ignore-preflight-errors=DirAvailable--var-lib-etcd
6 设置客户端
cp -f /etc/kubernetes/admin.conf $HOME/.kube/config
7 重置node节点
kubeadm reset
8 使用3中输出的join命令重新加入集群
9 恢复节点的label