# 使用 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 kube
systemctl status kubelet 2>/dev/null
# 检查 kubelet 配置文件
ls -la /etc/kubernetes/
ls -la /var/lib/kubelet/
2. 清理 Kubernetes 的 Docker 容器
# 查看容器是否有 k8s 标签
docker inspect xx | grep -i kubernetes
3. 完全清理 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 -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# 6. 重启 Docker
systemctl restart docker