debian

Debian如何卸载Kubernetes集群

小樊
45
2025-10-06 13:50:57
栏目: 智能运维

1. 停止并禁用Kubernetes相关服务
首先停止所有正在运行的Kubernetes服务,防止其在系统重启后自动启动,避免残留进程影响卸载流程:

sudo systemctl stop kubelet
sudo systemctl disable kubelet
sudo systemctl stop kubeadm
sudo systemctl disable kubeadm
sudo systemctl stop kube-proxy
sudo systemctl disable kube-proxy

若使用Docker作为容器运行时,还需停止Docker服务:

sudo systemctl stop docker  # 仅当使用Docker时执行

2. 移除Kubernetes核心组件
使用apt-get命令彻底卸载Kubernetes的核心工具(kubeletkubeadmkubectl),并通过autoremove清理无用依赖:

sudo apt-get purge -y kubelet kubeadm kubectl
sudo apt-get autoremove -y
sudo apt-get autoclean  # 清理本地缓存

若使用Containerd作为容器运行时,需额外卸载:

sudo systemctl stop containerd
sudo apt-get purge -y containerd.io
sudo rm -rf /var/lib/containerd /etc/containerd  # 删除Containerd数据目录

3. 删除Kubernetes配置文件与数据目录
清除Kubernetes的所有配置文件和持久化数据(如集群状态、证书、镜像等),确保无残留信息:

sudo rm -rf /etc/kubernetes/       # Kubernetes主配置目录
sudo rm -rf /etc/cni/net.d         # CNI网络插件配置目录
sudo rm -rf /var/lib/kubelet/      # Kubelet数据目录
sudo rm -rf /var/lib/kube-proxy/   # Kube-proxy数据目录
sudo rm -rf /var/lib/etcd/         # etcd数据库目录(若有)
sudo rm -rf /var/log/pods/         # Pod日志目录
sudo rm -rf /var/log/containers/   # 容器日志目录
sudo rm -rf ~/.kube                # 用户kube配置目录(若有)

4. 清理网络插件与配置
根据使用的CNI插件(如Calico、Flannel)执行针对性清理,避免网络残留影响后续操作:

5. 重置iptables与网络设置
Kubernetes会修改iptables规则(如端口转发、网络策略),需重置以恢复默认网络状态:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

若使用systemd-resolved,重启以恢复DNS配置:

sudo systemctl restart systemd-resolved

6. 重启系统
重启系统以确保所有更改生效,彻底清除内核级的网络规则和残留进程:

sudo reboot

7. 验证卸载结果
重启后,通过以下命令检查Kubernetes是否已完全卸载:

kubelet --version  # 应返回“command not found”
kubeadm version    # 应返回“command not found”
kubectl version    # 应返回“command not found”

若均无输出,说明Kubernetes集群已成功卸载。

0
看了该问题的人还看了