QoS

什么是PodQoS

QoSQuality of Service的缩写,即服务质量。为了在资源被有效调度和分配的同时,提高资源利用率,Kubernetes针对不同服务质量的预期,通过QoS类来决定Pod的调度和驱逐策略。对于一个pod来说,服务质量体现在两个具体的指标:CPU和内存。当节点上资源紧张时,Kubernetes会根据预先设置的不同QoS类进行相应处理。

QoS

QoS主要分为GuaranteedBurstableBestEffort三类,优先级从高到低。

如果为容器指定了内存limits,但没有指定内存requestsKubernetes会自动为它指定与内存limits匹配的内存requests。同样,如果为容器指定了CPU limits,但没有指定CPU requestsKubernetes会自动为它指定与CPU limits匹配的CPU requests

 

根据QoS进行资源回收策略

当节点资源紧张时,QoS类优先级高的Pod可获得更高的性能保证。例如,当内存资源紧张时,优先级越低的Pod会越先被kill掉,具体场景举例:

QoS使用建议