ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

批量清理docker容器和镜像,彻底卸载k8s

2026/8/11 15:53:51 拓冰建站 浏览量
批量清理docker容器和镜像,彻底卸载k8s

 

# 使用 docker kill 强制终止容器
docker kill etcd1#停止及删除所有容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)#停止及删除所有镜像
docker rmi $(docker images -q)

  

彻底清理卸载 kubeadm、kubectl、kubelet

#Debian / Ubuntu
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*   
sudo apt-get autoremove//apt-get remove 会删除软件包而保留软件的配置文件
//apt-get purge 会同时清除软件包和软件的配置文件#CentOS / RHEL / Fedora
sudo yum remove -y kubeadm kubectl kubelet kubernetes-cni kube*   
sudo yum autoremove -y//autoremove:当使用yum install命令安装一枚软件包时,yum会将该软件包连同其所有依赖包一并安装到本机。
//          但当我们使用yum remove命令卸载一枚已安装软件包时,yum默认只会移除你所指定的那枚软件包,并不会移除该包的相关依赖包。
//          自从Fedora 18之后,可以使用yum autoremove命令来干净卸载软件包。#Systemd服务
systemctl stop kubelet
systemctl disable kubelet
#配置清理
rm -rf /etc/systemd/system/kubelet.service
rm -rf /etc/systemd/system/kube*#手动清理kubernetes配置
sudo rm -rf ~/.kube
sudo rm -rf /etc/kubernetes/
sudo rm -rf /var/lib/kube*

  

Kubernetes 的残留配置清理

1. 检查是否有残留的 kubelet 进程或配置# 检查是否有 kubelet 相关进程ps aux | grep -E "(kubelet|kube-proxy)"# 检查是否有 kubelet 服务systemctl list-unit-files | grep -i kubesystemctl status kubelet 2>/dev/null# 检查 kubelet 配置文件ls -la /etc/kubernetes/ls -la /var/lib/kubelet/2. 清理 Kubernetes 的 Docker 容器# 查看容器是否有 k8s 标签docker inspect xx | grep -i kubernetes3. 完全清理 Kubernetes 残留配置# 1. 停止所有可能的 Kubernetes 相关服务systemctl stop kubelet kube-proxy flanneld etcd 2>/dev/null# 2. 删除所有 Kubernetes 管理的容器(危险!备份重要数据!)docker ps -a --filter "label=io.kubernetes.pod.name" --format "{{.ID}}" | xargs -r docker rm -f# 3. 清理 cni 网络配置rm -rf /etc/cni/net.d/*rm -rf /opt/cni/bin/*# 4. 清理 kubelet 数据目录rm -rf /var/lib/kubelet/*rm -rf /var/lib/etcd/*# 5. 清理 iptables 规则(Kubernetes 创建的)iptables -L iptables -Fiptables -t nat -Fiptables -t mangle -Fiptables -Xiptables -t nat -Xiptables -t mangle -X# 6. 重启 Dockersystemctl restart docker