kubernetes 专栏-kubernetes gc 机制

当我们重启kubernetes master 或者docker 意外退出的时候 会产生许多 Exited 的docker 容器,我们如何定时清理 这些退出的容器呢?

 

1: docker 1.7 版本之后 可以使用docker container prune 可以手动清理退出容器,释放磁盘空间减少内存开销

2: 容器回收分为两种情况   

      2.1: kubernetes 管理的容器,由pod 创建和管理  

           Kubernetes的垃圾回收由kubelet进行管理,每分钟会查询清理一次容器,每五分钟查询清理一次镜像。在kubelet刚启动时并不会立即进行GC,即第一次进行容器回收为kubelet启动一分钟后,第一次进行镜像回收为kubelet启动五分钟后。

    2.2 : 非kubernetes 管理  我们手动创建的容器以及 docker 意外退出的产生的Exited 容器 不在kubernetes 容器gc的范围之内,我们需要针对这一特殊情况进行管理

 

策略
暂停的时候: 
 stop 

1: kubectl scale --replicas=0 deploy/smartpostion


2: 确认暂停完毕之后 systemctl stop kube-*  组件


3:  docker ps -a | grep "Exited"  | grep -v k8s | awk '{print $1}' | xargs -n 1 docker rm

4: systemctl stop docker flanneld etcd 


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值