Kubernetes PodDisruptionBudget 主动驱逐保护

本文介绍了Pod Disruption Budget(PDB),它是对主动驱逐的保护措施,通过labelSelector机制限制正常运行的pod数目。阐述了其应用场景,如节点维护升级、应用自动缩容等,还说明了特性及作用,如指定pod存活数量或百分比,保障业务不中断等,并给出参考示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

场景

特性

参考示例


最近看代码时,老是在代码中能看到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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值