在 CentOS 上把 Kubernetes(k8s) 卸载干净,通常要分情况:是 kubeadm 安装 还是 二进制 / 脚本安装。下面以最常见的 kubeadm + CentOS 7/8 为例,给你一套彻底清理步骤。
在 Master / Worker 节点 上执行:
kubeadm reset -f
然后清理 iptables / IPVS 规则:
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
ipvsadm --clear 2>/dev/null
systemctl stop kubelet
systemctl disable kubelet
卸载软件包:
yum remove -y kubelet kubeadm kubectl
如果是 CentOS 8 / Rocky / Alma:
dnf remove -y kubelet kubeadm kubectl
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
如果是单节点 etcd(非外部 etcd):
rm -rf /var/lib/etcd/*
systemctl stop docker
yum remove -y docker-ce docker-ce-cli
rm -rf /var/lib/docker
systemctl stop containerd
yum remove -y containerd.io
rm -rf /var/lib/containerd
ip link delete cni0
ip link delete flannel.1
ip link delete docker0
如果提示不存在可忽略。
rm -f /etc/yum.repos.d/kubernetes.repo
yum clean all
ps -ef | grep -E 'kube|etcd|containerd|docker'
没有相关进程即可。
kubeadm reset -f
systemctl stop kubelet
yum remove -y kubelet kubeadm kubectl
rm -rf /etc/kubernetes /var/lib/kubelet /var/lib/etcd /var/lib/cni /etc/cni ~/.kube
如果你告诉我:
我可以给你 更精准的卸载方案。