TKE 使用 containerd 组件时如何清理未使用的镜像
🏷️ TKE Kubernetes
TKE 集群的运行时组件现在仅支持使用 containerd。
容器服务运行一段时间后,磁盘空间会逐渐被镜像占用。
在使用 docker 运行时组件时,可以通过如下命令清理所有未正在被使用的镜像。
bash
docker system prune -a -f
1
containerd 组件会在磁盘占用达到设定的阈值时会自动清理镜像,但若是需要手动清理时则可以使用 containerd 提供的命令行工具 crictl
,它类似于 Docker 的命令行工具 docker
。比如 crictl images
可以列出所有镜像。
使用如下 crictl
命令可以清理所有未使用的镜像:
bash
crictl rmi --prune
1
不确定是否所有版本的 crictl rmi
都支持 --prune
参数,可以通过 crictl rmi --help
查看详细的帮助信息。
bash
[root@VM-32-10-tencentos ~]# crictl rmi --help
NAME:
crictl rmi - Remove one or more images
USAGE:
crictl rmi [command options] IMAGE-ID [IMAGE-ID...]
OPTIONS:
--all, -a Remove all images (default: false)
--prune, -q Remove all unused images (default: false)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
我这里使用的 containerd 和 crictl 对应的版本如下:
bash
[root@VM-32-10-tencentos ~]# containerd --version
containerd github.com/containerd/containerd v1.6.9-tke.4 637394504cd0c8313df0a2e66e197422bba76b7a
[root@VM-32-10-tencentos ~]# crictl --version
crictl version 1.25.0
1
2
3
4
2
3
4