kubernetes删除过期的Image镜像

k8s集群中经常被旧版本已经不再使用的镜像占完磁盘空间,出现

node has conditions: [DiskPressure]

或者是

failed to register layer: devmapper:Thin Pool has 107394 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

这样的问题,网上搜了一圈之后都是要手动登陆到Node然后执行下面命令,太过麻烦,

docker rm $(docker ps -q -f status=exited)
docker volume rm $(docker volume ls -qf dangling=true)
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

然后在github中看到有大神的镜像有实现,所有就拿来分享一下

apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    name: clean-up
  name: clean-up
spec:
  selector:
    matchLabels:
      app: clean-up
  template:
    metadata:
      labels:
        app: clean-up 
    spec:
      volumes:
        - name: docker-sock
          hostPath:
            path: /var/run/docker.sock
        - name: docker-directory
          hostPath:
            path: /var/lib/docker
      containers:
        - image: andyzhangx/docker-cleanup:latest  # based on https://hub.docker.com/r/meltwater/docker-cleanup/
          name: clean-up
          env:
            - name: CLEAN_PERIOD
              value: "60"
            - name: DELAY_TIME
              value: "1800"
          volumeMounts:
            - mountPath: /var/run/docker.sock
              name: docker-sock
              readOnly: false
            - mountPath: /var/lib/docker
              name: docker-directory
              readOnly: false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值