根据Pod对象的requests和limits属性,kubernetes将Pod对象归类到BestEffort、Burstable和Guaranteed三个服务质量(Quality of Service,QoS)类别。
- Guaranteed
- cpu:requests=limits
- memory:requests=limits
- 这类Pod具有最高优先级
- Burstable
- 至少一个容器设置了cpu或内存资源的requests
- 这类Pod具有中等优先级
- BestEffort
- 未有任何一个容器设置requests或limits属性
- 这类Pod具有最低优先级
同级别优先级的Pod资源在OOM时,与自身的requests属性相比,其内存占用比例最大的Pod对象将被首先杀死。如上图同属Burstable类别的Pod A将先于Pod B被杀死,虽然其内存用量小,但与自身的requests值相比,它的占用比例95%要大于Pod B的80%。