卸载 CentOS 上的 Kubernetes(k8s) 要分情况,下面给你一套**从“能删干净”到“最彻底”**的完整流程,适用于 kubeadm 安装 的常见场景(最常用)。
最常见的是:
先确认:
which kubeadm
kubectl version
在 所有节点(master + worker) 执行:
kubeadm reset -f
说明:
/etc/kubernetessystemctl stop kubelet
systemctl disable kubelet
yum remove -y kubeadm kubectl kubelet kubernetes-cni
如果还有残留:
rpm -qa | grep kube
rm -rf /etc/kubernetes
rm -rf /var/lib/kubelet
rm -rf /var/lib/etcd
rm -rf /var/lib/cni
rm -rf /etc/cni
rm -rf ~/.kube
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
如果你是 ipvs:
ipvsadm --clear
ip link delete cni0
ip link delete flannel.1
ip link delete vxlan.calico
(没有就忽略)
systemctl stop docker
yum remove -y docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
systemctl stop containerd
yum remove -y containerd
rm -rf /var/lib/containerd
rm -f /etc/yum.repos.d/kubernetes.repo
ip route flush table all
ip rule flush
ps -ef | grep kube
iptables -L -n
ip link
df -h
/usr/local/bin/k3s-uninstall.sh
docker rm -f $(docker ps -aq)
rm -rf /var/lib/rancher
/opt/k8s 等目录| 问题 | 说明 |
|---|---|
| 重装失败 | 没删 /etc/kubernetes |
| Pod 网络异常 | 没清 iptables |
| etcd 冲突 | 没删 /var/lib/etcd |
| 重启后还有 k8s | kubelet 没 disable |
kubeadm reset → 删目录 → 清 iptables → 卸载容器运行时
如果你愿意,可以告诉我:
我可以直接给你一条命令版或重装方案。