K8S清除旧容器镜像(1.20版本之前生效只限docker版使用)

  • Kubernetes警告不要手动删除死容器或镜像,执行外部垃圾收集。不要手动删除资源,无论是使用集群管理 API 还是第三方工具。这可能会产生可能影响 Kubelet 操作的不一致状态。
  • Kubelet 负责管理分配给每个节点的容器。当一个新容器被调度时,Kubelet 将下载它的镜像。集群运行成功取决于 Kubelet 的期望得到满足。缺少镜像或容器可能会导致 Kubelet 问题
  • 可以在/var/lib/kubelet/kubeadm-flags.env以下位置设置

阈值是使用两个 Kubelet 标志定义的:

  • image-gc-high-threshold– 设置高阈值;默认为 85%。
  • image-gc-low-threshold– 设置低阈值;默认为 80%。
  • Kubelet 会在磁盘使用率达到 85% 后尝试将其降低到 80%。
KUBELET_KUBEADM_ARGS="--image-gc-high-threshold=60 --image-gc-low-threshold=50"

我的阈值

[root@node105 ~]# cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.5"
KUBELET_KUBEADM_ARGS="--image-gc-high-threshold=80 --image-gc-low-threshold=70"
[root@node101 ~]# kubectl get node
NAME      STATUS   ROLES                  AGE     VERSION
node101   Ready    control-plane,master   6d19h   v1.22.0
node102   Ready                     6d19h   v1.22.0
node105   Ready                     4h17m   v1.22.0

重启kubectl

systemctl daemon-reload 
systemctl restart kubelet

更多请阅读以下连接

https://www.cloudsavvyit.com/11041/how-to-clean-up-old-containers-and-images-in-your-kubernetes-cluster/

你可能感兴趣的:(Kubernetes,k8s,docker,kubernetes,容器)