温馨提示×

centos k8s部署如何卸载

小樊
40
2026-08-04 20:58:39
栏目: 智能运维

下面以 CentOS 上卸载 Kubernetes(k8s) 为场景,分别给你 kubeadm 方式二进制方式 的常见卸载步骤。
如果你是用 kubeadm 安装的(最常见),直接看 第一部分 即可。


一、kubeadm 安装的 Kubernetes 卸载(最常用)

1️⃣ 重置集群节点(关键步骤)

在每个节点(master / worker)执行:

kubeadm reset

会提示是否继续,输入 y 回车。

✅ 该操作会:

  • 停止 kubelet
  • 删除 iptables / ipvs 规则
  • 删除 CNI 配置
  • 清理 /etc/kubernetes

2️⃣ 清理残留文件(所有节点)

rm -rf /etc/kubernetes
rm -rf /var/lib/etcd
rm -rf /var/lib/kubelet
rm -rf $HOME/.kube
rm -rf /etc/cni/net.d
rm -rf /opt/cni/bin

3️⃣ 停止并卸载 kubelet、kubectl、kubeadm

停止服务

systemctl stop kubelet
systemctl disable kubelet

卸载软件

yum remove -y kubelet kubectl kubeadm

或(如果你用的是 kubernetes-cni):

yum remove -y kubernetes-cni

4️⃣ 卸载 Docker / containerd(可选)

如果你不再使用容器环境:

Docker

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

containerd

systemctl stop containerd
yum remove -y containerd
rm -rf /var/lib/containerd

5️⃣ 清理网络与路由(重要)

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
ipvsadm --clear   # 若使用 IPVS

6️⃣ 清理 k8s 相关进程(防残留)

ps -ef | grep kube

如有残留,手动 kill


二、二进制方式部署的 k8s 卸载

1️⃣ 停止服务

systemctl stop kube-apiserver
systemctl stop kube-controller-manager
systemctl stop kube-scheduler
systemctl stop kubelet
systemctl stop kube-proxy

2️⃣ 删除二进制文件

rm -rf /usr/local/bin/kube*
rm -rf /opt/kubernetes

3️⃣ 删除配置与服务

rm -rf /etc/systemd/system/kube*
rm -rf /etc/kubernetes
rm -rf /var/lib/kubelet
rm -rf /var/lib/etcd

4️⃣ 重载 systemd

systemctl daemon-reload

三、清理网络接口(可选)

ip link delete cni0
ip link delete flannel.1
ip link delete weave

四、验证是否卸载干净

kubectl version
kubelet --version
ps -ef | grep kube

均应无输出或报错。


五、⚠️ 注意事项

  • 生产环境:不要随意 reset,先做 etcd 备份
  • 多节点集群:每个节点都要执行
  • 云环境:不要误删云厂商的网络组件

如果你愿意,可以告诉我:

  • ✅ 是 单节点 / 多节点
  • ✅ 是否 kubeadm
  • ✅ 是否 master 节点

我可以给你 精准的一步步卸载命令

0