是否可以缩小 kubernetes 中 io.containerd.snapshotter.v1.overlayfs 文件夹的空间
is it possible to shrink the spaces of io.containerd.snapshotter.v1.overlayfs folder in kubernetes
今天我发现主机 kubernetes(v1.21.3) 文件夹 io.containerd.snapshotter.v1.overlayfs
占用太多空间:
[root@k8smasterone kubernetes.io~nfs]# pwd
/var/lib/kubelet/pods/8aafe99f-53c1-4bec-8cb8-abd09af1448f/volumes/kubernetes.io~nfs
[root@k8smasterone kubernetes.io~nfs]# duc ls -Fg /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/
13.5G snapshots/ [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++]
2.2M metadata.db [
它需要 13.5GB 的磁盘空间。可以缩小这个文件夹吗?
目录/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs
是containerd 保存各种容器和镜像层的地方。这些层是根据节点上的容器 运行 下载的。如果我们从 space 开始 运行,kubelet 有能力垃圾收集未使用的图像——这将减少这个目录的大小。如果需要,客户还可以为 node-pools 配置启动磁盘的大小。
预计这将从创建节点时开始增长。然而,当节点磁盘使用率超过 85% 时,垃圾收集将尝试识别可以删除的图像。它可能无法删除图像,但如果它们当前正在被节点上的现有容器 运行 使用,或者它们最近被拉出。
如果你想只使用 containerd 删除未使用的容器镜像,你可以使用以下命令:
$crictl rmi --prune
您也可以使用$ docker image prune
命令清理未使用的图像。默认情况下,docker image prune 只清理悬挂图像。悬挂图像是未标记且未被任何容器引用的图像。
要删除现有容器未使用的所有图像,请使用 -a 标志:
$ docker image prune -a
今天我发现主机 kubernetes(v1.21.3) 文件夹 io.containerd.snapshotter.v1.overlayfs
占用太多空间:
[root@k8smasterone kubernetes.io~nfs]# pwd
/var/lib/kubelet/pods/8aafe99f-53c1-4bec-8cb8-abd09af1448f/volumes/kubernetes.io~nfs
[root@k8smasterone kubernetes.io~nfs]# duc ls -Fg /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/
13.5G snapshots/ [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++]
2.2M metadata.db [
它需要 13.5GB 的磁盘空间。可以缩小这个文件夹吗?
目录/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs
是containerd 保存各种容器和镜像层的地方。这些层是根据节点上的容器 运行 下载的。如果我们从 space 开始 运行,kubelet 有能力垃圾收集未使用的图像——这将减少这个目录的大小。如果需要,客户还可以为 node-pools 配置启动磁盘的大小。
预计这将从创建节点时开始增长。然而,当节点磁盘使用率超过 85% 时,垃圾收集将尝试识别可以删除的图像。它可能无法删除图像,但如果它们当前正在被节点上的现有容器 运行 使用,或者它们最近被拉出。
如果你想只使用 containerd 删除未使用的容器镜像,你可以使用以下命令:
$crictl rmi --prune
您也可以使用$ docker image prune
命令清理未使用的图像。默认情况下,docker image prune 只清理悬挂图像。悬挂图像是未标记且未被任何容器引用的图像。
要删除现有容器未使用的所有图像,请使用 -a 标志:
$ docker image prune -a