Kubernetes-Pod-Qos
在 节点 资源紧缺的情况下,应以何种次序终止哪些pod?
Kubernetes 无法自行对此做出决策,需要借助 pod对象的服务质量和优先级等完成判定。
根据Pod对象的 requests 和 limits 属性, Kubernetes 把pod的Qos分为3个类别:BestEffort , Burstable , Guaranteed .
Guranteed: 为pod的每个容器都设置了cpu资源需求和资源限制,requests 和 limits 具有相同值, 这类pod对象具有最高级别服务质量。
Burstable: 至少有一个容器设置了CPU或内存资源的requests属性,但不满足Guaranteed类别的设定要求,这类Pod对象具有中等级别的Qos.
BestEffort: 不为任何一个容器设置requests 或 limits 属性,这类pod对象的服务质量级别最低。
Kubernetes 在节点资源紧缺是对pod的终结顺序:
BeftEffort 类别的最先被终结, 然后是 Burstable类别的pod.
Guranteed 类别的pod拥有最高的优先级,,他们一般不会被杀死,除非其内存资源超限,或者OOM时没有其他更低级别的pod存在。
相同级别的Pod在系统OOM时,与pod自身的requests属性相比,其内存占用比例最大的pod将先被杀死。
---
requests和limits设置同样的值,级别为 Guranteed


---
只为pod设置了requests,(只设置一个属性), 级别为 Burstable

----
reuests, limits都不设置,级别为 BestEffort , 最先被杀死。


Guranteed > Burstable > BestEffort
浙公网安备 33010602011771号