本文作者:行癫
Qos在业内被叫做“服务质量等级”,但大多数人又称为“服务质量保证”,他是作用在pod上的一个配置,当我们使用kubernetes去创建pod时,默认会给我们的pod分配一个Qos等级。Qos的分类如下:
Guaranteed:Pod 里的每个容器都必须有内存/CPU 限制和请求,而且值必须相等。
Burstable:Pod 里至少有一个容器有内存或者 CPU 请求且不满足 Guarantee 等级的要求,即内存/CPU 的值设置的不同。
BestEffort:容器必须没有任何内存或者 CPU 的限制或请求。
这个配置不是通过一个配置项来配置的,而是通过配置 CPU/内存的 limits 与 requests 值的大小来确认服务质量等级的。
使用一下命令可以看到 pod 的配置输出中有 qosClass
kubectl get pod -o yaml
注意:该配置的作用是为了给资源调度提供策略支持,调度算法根据不同的服务质量等级可以确定将 pod 调度到哪些节点上。
例如,下面这个 YAML 配置中的 Pod 资源配置部分设置的服务质量等级就是 Guarantee。