本文档适用于 Kubernetes 1.24 及以上版本的集群,介绍如何将 containerd 默认的数据目录从 /var/lib/containerd 修改为 /data/containerd。
sudo systemctl stop containerd
编辑 containerd 的配置文件 /etc/containerd/config.toml:
sudo vim /etc/containerd/config.toml
将配置文件中默认的 root 目录从 /var/lib/containerd 修改为 /data/containerd:
默认是:root = "/var/lib/containerd"
修改为:root = "/data/containerd"
保存并退出编辑器。
创建新的 containerd 数据目录:
sudo mkdir -p /data/containerd
使用 rsync 工具将原目录中的数据拷贝到新目录:
sudo rsync -avzh /var/lib/containerd/ /data/containerd/
重新启动 containerd 服务:
sudo systemctl start containerd
确保 containerd 服务已成功启动:
sudo systemctl status containerd
通过 crictl 工具查看 containerd 的 root 目录:
sudo crictl info | grep -i root
检查新目录的挂载情况:
df -Th
进入新目录查看其容量:
du -lh --max-depth=1 /data/containerd
发布新的容器应用,确认新的应用数据存储在新的路径下。请注意,之前启动的容器仍然使用旧的目录,除非这些容器被重启。
通过上述步骤,可以成功地将 Kubernetes 集群中 containerd 的默认数据目录从 /var/lib/containerd 修改为了 /data/containerd。可以通过多种方式验证变更是否生效,并确保新的应用数据存储在新的路径上。