Last Updated on 2024-05-30 by likun.gong
Pod QoS是什么
QoS:Quality of Service,服务质量的意思。K8S Pod QoS 主要是对 Pod 的资源进行管理和限制的一种机制。
QoS类型:
- Guaranteed:最高优先级
Pod 中每个容器的内存和 CPU 的 request 和 limit 是一致的,不同容器的配置值是可以不相等 - Burstable:可以短期使用更多的资源
– 设置了内存和 CPU 的 request,但是没有配置 limit
– 或者设置了 request 和 limit,但是两者不相等 - BestEffort:最低优先级
没有设置任何 request 和 limit
如果 Pod 中只配置了 limit,没有配置 request,那么 K8S 会复制 limit 的值提供给 requests 。
Note:
If you specify a limit for a resource, but do not specify any request, and no admission-time mechanism has applied a default request for that resource, then Kubernetes copies the limit you specified and uses it as the requested value for the resource.
如何查看 Pod 的 QoS:
kubectl describe pod <pod_name> -n <namespace>
输出内容的 Status 中,会有对应 QoS Class
为什么需要QoS
- 确保高优先级的应用优先拥有资源,在发生 Eviction 时,低优先级的会被优先从节点上驱逐
高优先级的应用,可以配合专有节点池+最高级别的QoS,确保服务使用资源不被其他服务抢用
发表回复