k8s的Garbage Collection回收机制

k8s的Garbage Collection回收机制

Gc主要由kubelet执行,kubelet进程启动时会自动创建两个GC,一个负责回收image 另一个负责回收container。Images回收会5分钟执行一次,container会1分钟执行一次。
Kubelet里有关于回收机制的参数,可以自定义配置,也可使用其默认配置。

image回收参数

主要分三个参数:
A:--minimum-image-ttl-duration     (容器运行完之后的生存时间,默认为0)
B:--image-gc-high-threshold        (磁盘最高消耗百分比,默认为90%。表明当磁盘占用高达90%时,会自动触发image回收机制)
C:--image-gc-low-threshold         (磁盘最低消耗百分比,默认为80%,当磁盘占用低于80%时将不会触发image回收)

container回收

主要分为三个参数:

A:--minimum-container-ttl-duration        (容器运行结束之后可以存活的时间,默认为0)
B:--maximum-dead-container-per-container (一个pod上可以留下运行结束之后的容器的个数,默认为2)
C:--maximum-dead-containers               (一个node上可以留下运行结束之后的容器个数,默认为240)

当不需要回收container时,自定义将A参数设置为0,BC参数设置为负数,则不会有回收container行为。Kubelet判断回收的对象是根据探测针反馈来执行的。探测针分为LivenessProbe探测针与ReadinessProbe探针两种。LivenessProbe探针:判断容器是否健康。若不健康,则回收并根据重启策略重启container。只要container里不包含探针则表明该容器健康。探针

健康判断机制为:

A:ExecAction :在container内部执行命令 状态码为0,则健康。反之,不健康。
B:TcpSocketAction:使用 container的ip+port 执行tcp检查,若能访问则表明健康,反之,则不健康。
C:HttpGetAction:使用container ip+port和调用HTTP get方法,响应状态码在200与400之间则健康。反之,则不健康。

2.Readiness探针:判断容器是否启动完成且准备接受请求,若失败,则将pod状态修改,并从service的endpoint中删除该容器所在的pod的ip。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值