Kubernetes PodDisruptionBudget 主动驱逐保护

目录

场景

特性

参考示例


最近看代码时,老是在代码中能看到PDB 是什么呢?Pod Disruption Budget (pod 中断 预算),含义其实是 终止pod前 通过labelSelector机制获取正常运行的pod数目的限制,目的是对主动驱逐的保护措施。

场景

  1. 节点维护或升级时(kubectl drain)
  2. 对应用的自动缩容操作(autoscaling down)
  3. 由于节点不可用(not ready)导致的Pod驱逐就不能称之为主动

特性

  1. PDB指定一个pod集合在一段时间内存活的最小实例数量或者百分比
  2. 作用于一组被同一个控制器管理的pod。例如:RC或者statefulapp
  3. 使用PodDisruptionBudget控制器本身无法真正保障指定数量或者百分比的pod存活,PodDisruptionBudget控制器只能保证POD主动逃离的情况下业务不中断或者业务SLA不降级
  4. 场景局限于:主动驱逐

主动驱逐的场景,用用如果能够保持存活pod数量,将会非常有用。通过使用Pod Disruption Budget 对象,应用可以保证那些主动移除pod的集群操作永远不会同一时间停掉太多pod,导致服务中断或者服务降级。

kubectl drain 操作时遵循PDB对象的设定,如果在该节点上运行了属于统一服务的多个pod,则为了保证最少存活数量,系统会确保每终止一个pod就会在健康的node上启动新的pod后,再继续终止下一个pod容器。

参考示例

kubernetes1.7新特性:PodDisruptionBudget控制器变化

Disruptions

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值