Containerd卸载指南

一、卸载手动安装的 containerd

🔧 1. 停止 containerd 服务


sudo systemctl stop containerd

🔧 2. 禁用开机自启


sudo systemctl disable containerd

🔧 3. 移除 systemd 服务文件

你之前创建的服务文件是:


/etc/systemd/system/containerd.service

删除它:


sudo rm -f /etc/systemd/system/containerd.service

📌 这是你手动创建的 systemd unit 文件,不是系统自带的,可以安全删除。

🔧 4. 删除 containerd 的二进制文件和目录

你当初解压到了
/usr/local
目录,使用了类似这样的命令:


tar Cxzvf /usr/local containerd-2.1.4-linux-amd64.tar.gz

这通常会将 containerd 解压到
/usr/local/bin/containerd
以及一些相关文件(比如
/usr/local/libexec/containerd

/usr/local/bin/containerd-shim
等)。

🔍 你可以查看
/usr/local/bin/
下是否有
containerd
可执行文件:


ls -l /usr/local/bin/containerd

如果存在,删除整个 containerd 相关目录(通常是解压出来的文件夹,但 tar 包一般直接解压到 bin 和辅助目录):

❗ 注意:containerd 官方 tar 包解压后一般直接把二进制放到
/usr/local/bin/
,以及一些库或辅助工具到
/usr/local/libexec/

/usr/local/bin/
下。

你可以通过以下方式找到 containerd 相关文件:


which containerd

典型输出:


/usr/local/bin/containerd

然后,你可以删除它:


sudo rm -f /usr/local/bin/containerd

🔒 如果你想更彻底地清理(推荐),可以删除整个解压出来的相关文件,但通常官方 tar 包不会创建单独的文件夹,而是直接把二进制放到
/usr/local/bin/
,所以:

🔧 5.删除相关组件


# 删除 containerd 主程序
sudo rm -f /usr/local/bin/containerd

# 可能还有一些辅助二进制,比如 containerd-shim, containerd-shim-runc-v2 等,如果你看到也可以删
sudo rm -f /usr/local/bin/containerd-shim
sudo rm -f /usr/local/bin/containerd-shim-runc-v2
sudo rm -f /usr/local/bin/ctr

# 如果你之前创建了 /etc/containerd/config.toml,可以选择备份或删除
sudo rm -f /etc/containerd/config.toml

📌 注意:
/etc/containerd/config.toml
是容器运行时配置文件,如果你之后还要装 containerd,可以留着参考,但如果你确定不再使用,可以删掉。


二、清理残留数据(可选但推荐)

containerd 运行时可能会在以下目录中存有数据(比如镜像、容器、元数据等),如果你不再使用,可以清理:

删除 containerd 的默认数据目录

默认情况下,containerd 的数据(包括镜像、容器等)存储在:


/var/lib/containerd

🔒 如果你确定以后不再使用这个 containerd,或者要全新安装,可以删除此目录:


sudo rm -rf /var/lib/containerd

⚠️ 注意:删除
/var/lib/containerd
会清除所有 containerd 管理的容器、镜像、卷、快照等数据,不可恢复!如果你只是卸载但未来可能重装,可以先保留。


三、清理 systemd 配置


sudo systemctl daemon-reload

确保 systemd 不再加载已删除的 service 文件。

如果之前有残留的 containerd 相关服务,可以检查:


systemctl list-unit-files | grep containerd

如果没有输出,说明干净;如果还有,可以手动删除对应 service 文件(比如在
/etc/systemd/system/

/lib/systemd/system/
下)。


四、验证是否卸载成功

查看 containerd 是否还在运行:


ps aux | grep containerd

如果没有看到
/usr/local/bin/containerd
相关的进程,说明已经停止。

再检查服务状态


systemctl status containerd

应该报错类似:


Unit containerd.service could not be found.

说明服务已经不存在。

查看二进制


which containerd

如果返回空,说明 containerd 二进制已删除。


五、总结:卸载手动安装的 containerd

步骤 操作 命令
1 停止 containerd 服务
sudo systemctl stop containerd
2 禁用开机启动
sudo systemctl disable containerd
3 删除 systemd service 文件
sudo rm -f /etc/systemd/system/containerd.service
4 删除 containerd 二进制文件
sudo rm -f /usr/local/bin/containerd
(以及可能的 shim / ctr 等)
5 (可选)删除配置文件
sudo rm -f /etc/containerd/config.toml
6 (可选,彻底清理)删除数据目录
sudo rm -rf /var/lib/containerd
7 重新加载 systemd
sudo systemctl daemon-reload
8 验证是否卸载
ps aux | grep containerd

which containerd

systemctl status containerd

六、k8s集群初始化失败全清理指南

1️⃣ 【重置 kubeadm 状态】

运行以下命令,重置 kubeadm 创建的所有控制平面/节点资源、网络、证书等:


sudo kubeadm reset -f

✅ 说明:
kubeadm reset
会清理:

集群相关的证书和密钥网络接口(如 CNI 相关的网桥、flannel/calico 设备等)
/etc/kubernetes/
下的部分内容(但不会删除整个目录,因此我们后面手动删除)


2️⃣ 【手动删除所有 k8s相关目录和配置文件】

执行以下命令,彻底删除所有 Kubernetes 相关的配置与数据目录


sudo rm -rf 
  /etc/kubernetes/ 
  /var/lib/kubelet/ 
  ~/.kube/config

✅ 说明:


/etc/kubernetes/
:包含集群配置、证书、kubeconfig、Controller Manager/etcd/kube-apiserver 的静态 Pod 清单等
/var/lib/kubelet/
:kubelet 的本地数据,如容器运行时状态、卷挂载、设备插件等
~/.kube/config
:当前用户(如 root)用于访问集群的认证和配置文件


3️⃣ 【停止并禁用 kubelet 服务】

确保 kubelet 服务已停止,并禁止开机自动启动:


sudo systemctl stop kubelet
sudo systemctl disable kubelet

✅ 说明:


stop
:立即停止 kubelet 服务
disable
:禁止开机时自动启动(避免残留服务干扰下次安装)


4️⃣ 【卸载 Kubernetes 相关软件包】

如果你是通过
dnf
(如 Fedora / RHEL / CentOS / Rocky Linux)安装的 Kubernetes 组件,运行以下命令卸载它们:


sudo dnf remove -y kubelet kubeadm kubectl

✅ 说明:

移除
kubelet

kubeadm

kubectl
这三个核心组件
-y
表示自动确认,避免交互式提问

⚠️ 如果你是通过其他包管理器(比如
apt
),请使用对应的卸载命令,例如:


sudo apt remove -y kubelet kubeadm kubectl

5️⃣ 【(可选)查看 kubelet 相关日志,排查问题】

如果你在重置后仍想查看 kubelet 之前运行的日志,用于排查错误,可以运行:


sudo journalctl -xeu kubelet -f
© 版权声明

相关文章

暂无评论

none
暂无评论...