linux 无残留卸载k8s
linux 无残留卸载k8s
·
要完全无残留地卸载 Kubernetes(k8s)集群从 Ubuntu 或类似基于 Debian 的系统中,可以遵循以下步骤。请注意,在操作前请确保备份所有重要数据,并仔细检查命令以适应您当前的环境。
1、停止并清理所有运行中的 Kubernetes 组件和服务:
使用 kubeadm 工具来清理集群:
sudo kubeadm reset --force
2、删除所有 Kubernetes 相关的 systemd 单元文件:
sudo rm -rf /etc/systemd/system/kubelet.service.d
sudo systemctl daemon-reload
3、卸载安装包kubelet kubeadm kubectl
yum remove -y kubelet kubeadm kubectl
3、停止并移除容器运行时(如 Docker 或 containerd)相关的服务:
对于 Docker:
sudo systemctl stop docker && sudo systemctl disable docker
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io
对于 containerd (在较新版本的 Kubernetes 中可能被使用):
sudo systemctl stop containerd && sudo systemctl disable containerd
sudo apt-get purge -y containerd containerd.io
4、删除 Kubernetes 相关的配置和数据目录:
sudo rm -rf /var/lib/{kubelet,kube-proxy,kube-apiserver,kube-scheduler,kube-controller-manager}
sudo rm -rf /etc/kubernetes
sudo rm -rf ~/.kube
5、清理网络配置(如 Flannel、Calico 等 CNI 插件):
根据您使用的 CNI 插件执行相应的清理操作,通常包括删除配置文件和任何网络接口或路由规则。
6、重启系统以确保所有更改生效:
sudo reboot
7、检查端口占用情况并释放相关端口:
如果在卸载过程中遇到端口占用问题(如错误信息中提到的 6443、10251 和 10252),确认没有遗留进程占用这些端口,如有则手动杀掉对应进程。
lsof -i :6443
lsof -i :10250
lsof -i :10251
8、检查相关进程
kube相关、etcd相关、k8s相关、containerd相关、以及dockerd相关进程
ps -ef | grep kube*
ps -ef | grep etcd*
ps -ef | grep k8s*
ps -ef | grep containerd*
ps -ef | grep dockerd*
通过以上步骤,应该可以从系统中彻底卸载 Kubernetes 及其依赖项。然而,请注意,根据您的具体安装和配置,可能还存在其他特定于环境的清理工作需要完成。
更多推荐
已为社区贡献3条内容
所有评论(0)