misterli's Blog.

K8s环境清理节点上旧的镜像

字数统计: 202阅读时长: 1 min
2023/05/05

当我们使用kubernetes集群时,节点上会积累很多不再使用的镜像,虽然kubelet设置的有镜像回收的阈值,但是默认阈值为85%,日常使用中旧的镜像还是会占用很多磁盘空间,可以根据自己容器运行时来使用如下方式清理

docker

1
2
docker image  prune  -f
docker image prune -a -f

image-20211119133016666

Containers

首先下载crictl

1
2
3
4
5
6
#!/bin/bash

wget https://github.91chi.fun//https://github.com//kubernetes-sigs/cri-tools/releases/download/v1.22.0/crictl-v1.22.0-linux-amd64.tar.gz
tar xf crictl-v1.22.0-linux-amd64.tar.gz
\mv -f crictl /usr/bin/
/usr/bin/crictl rmi --prune

image-20211119111119894

如果需要写到cron作为定时任务运行则需要

1
crictl --runtime-endpoint unix:///run/containerd/containerd.sock  rmi --prune 

注意 containerd 1.5及之前版本无法使用较新的的crictl , 1.22可用,1.26无法使用

CATALOG
  1. 1. docker
  2. 2. Containers