我有一个使用 Containerd 运行的 K3s 单节点集群,并且我已达到空间磁盘限制。
看来我的机器上有一些旧的未使用的docker镜像。
我该如何清理这些以释放磁盘空间?
谢谢
编辑
经过进一步调查,似乎更多的是正在运行的容器的一个卷(或多个卷)占用了所有的磁盘空间。
如何列出 pod 使用的卷及其属性(磁盘等)?
答案1
关于 docker 镜像
正如docker中提到的文档
您可以使用docker image ls
列出所有图像并docker rmi
删除它们。
例如你可以使用
docker rmi -f $(docker images -a -q)
删除所有图像
关于磁盘空间
df -h
du -sh .
kubectl top/describe
您可以使用以下命令列出所有持久卷和持久卷声明:
kubectl get pv --all-namespaces
kubectl get pvc --all-namespaces
您可以列出按容量排序的所有持久卷
kubectl get pv --sort-by=.spec.capacity.storage --all-namespaces
另外看看这些
- https://stackoverflow.com/questions/53328104/how-to-get-containers-disk-usage-in-kubernetes-without-docker-command
- https://stackoverflow.com/questions/47628539/disk-utilization-stats-per-pod-in-k8
希望你觉得这个有用。