Kubernetes--Pod优先级调度

本文介绍了Kubernetes 1.8版本引入的Pod优先级和抢占式调度策略,旨在提高集群资源利用率。当资源不足时,高优先级Pod可以通过抢占低优先级Pod的资源来确保运行。讲解了驱逐(Eviction)和抢占(Preemption)两种行为,以及如何通过PriorityClasses设置Pod优先级。同时,文章提到了多调度器可能导致的调度死锁问题,并强调在资源紧张时应优先考虑集群扩容。
摘要由CSDN通过智能技术生成

一、Pod Priority Preemption

    对于运行的各种负载(如Service、Job)的中等规模或者打规模的集群来说,由于各种原因,需要尽可能提高集群的资源利用率。而提高资源利用率的常规做法是采用优先级方案,即不同负载对应不用的优先级,同时允许集群中的所有负载所需的资源超过集群可提供的资源,在这种情况下,当发生资源不足的情况下时,系统可以选择性释放一些不重要的负载(优先级最低的),保证最重要的负载能够获取足够的资源稳定运行。

     在Kubernetes1.8版本之前,当集群的可用资源不足时,在用户提交新的Pod创建请求之后,该Pod会一直处于Pending状态,即使这个Pod是一个重要的Pod,也只能被动等待其它Pod被删除并释放资源,才能被调度成功。Kubernetes 1.8版本之后引入基于Pod优先级(Pod Priority Preempition)的调度策略,此时Kubernetes会尝试释放Pod,这种调度方式被称为“抢占式调度”。如果声明一个负载相对其它负载“更重要”,可以通过以下几个维度定义:

  • Priority,优先级
  • Qos,服务器质量等级
  • 系统定义的其它度量指标

   优先级抢占式调度策略的核心行为分别是驱逐(Eviction)和抢占式(Preemption),这两种行为使用场景不同,效果相同。

          Eviction是kubelet进程的行为,即当一个Node资源不足时(under resource pressure)的情况时,该节点上的kubelet进程会执行驱逐动作,此时Kubelet会综合考虑Pod的优先级、资源申请量与实际使用量等信息计算哪些Pod需要驱逐;当同样优先级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值