在 CentOS 上卸载 Kubernetes(k8s),通常分为 单节点(如 kubeadm 安装) 和 手动部署集群 两种情况。下面以 最常用、最标准的 kubeadm 方式 为主进行说明,并补充 kubectl / kubelet / kubeadm 完全清理 的方法。
在 所有节点(master / worker) 执行:
sudo kubeadm reset
会清理 iptables、CNI、证书、etcd 数据等
如提示需要强制:
sudo kubeadm reset --force
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -X
sudo yum remove -y kubelet kubeadm kubectl
或(如果是 rpm 安装):
sudo rpm -e kubelet kubeadm kubectl
sudo rm -rf \
/etc/kubernetes \
/var/lib/kubelet \
/var/lib/etcd \
/var/lib/cni \
/etc/cni \
/opt/cni \
$HOME/.kube
sudo systemctl stop kubelet
sudo systemctl disable kubelet
例如 Calico / Flannel:
sudo rm -rf /etc/cni/net.d
sudo ip link delete cni0
sudo ip link delete flannel.1
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
清理数据(⚠️ 会删除所有容器和镜像):
sudo rm -rf /var/lib/docker
sudo systemctl stop containerd
sudo yum remove -y containerd
sudo rm -rf /var/lib/containerd
ps -ef | grep kube
iptables -L -n
ip link
应看不到:
sudo systemctl stop kubelet
sudo kubeadm reset --force
sudo netstat -tunlp | grep 6443
kubeadm reset
yum remove -y kubelet kubeadm kubectl
rm -rf /etc/kubernetes /var/lib/kubelet /var/lib/etcd
iptables -F
如果你愿意,可以告诉我:
我可以给你 完全定制化的卸载 + 重装方案 ✅