温馨提示×

centos k8s怎样卸载干净

小樊
35
2026-10-09 07:10:12
栏目: 智能运维

在 CentOS 上把 Kubernetes(k8s) 卸载干净,通常要分情况:是 kubeadm 安装 还是 二进制 / 脚本安装。下面以最常见的 kubeadm + CentOS 7/8 为例,给你一套彻底清理步骤。


一、重置 Kubernetes 集群(关键)

在 Master / Worker 节点 上执行:

kubeadm reset -f

然后清理 iptables / IPVS 规则:

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
ipvsadm --clear 2>/dev/null

二、停止并卸载 k8s 相关服务

systemctl stop kubelet
systemctl disable kubelet

卸载软件包:

yum remove -y kubelet kubeadm kubectl

如果是 CentOS 8 / Rocky / Alma:

dnf remove -y kubelet kubeadm kubectl

三、删除 Kubernetes 数据和配置(非常重要)

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/*

四、清理容器运行时(Docker / containerd)

1️⃣ 如果使用 Docker

systemctl stop docker
yum remove -y docker-ce docker-ce-cli
rm -rf /var/lib/docker

2️⃣ 如果使用 containerd

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

如果提示不存在可忽略。


六、清理 yum 源(可选)

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

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 安装方式(kubeadm / 二进制 / Rancher / k3s)
  • 是否单节点还是多节点

我可以给你 更精准的卸载方案。

0 踩