优先级导致不公平,抢占是强盗行为,受害者莫名奇妙。此特性增加系统复杂性并带来额外不稳定因素。如果资源紧张,首先应该扩容,硬件很便宜,应该禁用优先级特性。
Pod优先级指明pod的相对重要程度。在1.9之前的版本中,如果pod因为资源问题无法调度,则kubernetes尝试抢占低优先级pod资源,将它们排挤掉,为高优先级pod提供运行条件。
在1.9及之后的版本中,pod优先级会影响pod的调度顺序及当节点资源不足时的排斥顺序。即调度时优先部署高优先级pod,当节点资源不足时先行排挤低优先级pod。
在1.11之前的版本中,pod优先级是alpha特性,在1.11版本中变成beta特性,并保证在后续版本继续支持。alpha版本中默认禁止,需要明确打开,beta版本默认打开,关系如下表:
| Kubernetes Version | Priority and Preemption State | Enabled by default |
|---|---|---|
| 1.8 | alpha | no |
| 1.9 | alpha | no |
| 1.10 | alpha | no |
| 1.11 | beta | yes |
警告: 集群中恶意用户可能会创建尽可能高优先级pod,从而导致普通pod被排挤或者无法调度。系统管理员可以将资源配额与pod优先级结合,限制用户创建高优先级pod、或者对用处创建的高优先级pod能够使用的资源数量,从而阻止他们抢占太多的集群资源,此功能目前是1.11中的alpha我。

本文介绍了Kubernetes中的Pod优先级和抢占机制,包括如何使用、禁用抢占,以及PriorityClass和Pod priority的配置。在资源紧张时,高优先级Pod会抢占低优先级Pod的资源,管理员可以通过配置限制高优先级Pod的创建,以避免影响集群稳定性。
最低0.47元/天 解锁文章
855

被折叠的 条评论
为什么被折叠?



