Moh*_*por 7 qos preemption kubernetes
在 Kubernetes 中,我们可以将 pod 的优先级设置为Guaranteed,Burstable或Best-Effort基于请求和限制。在 Kubernetes 中分配优先级的另一种方法是定义一个priorityClass对象并将 a 分配priorityClassName给 pod。这些方法有何不同?何时我们必须选择一种方法而不是另一种方法?根据https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#interactions-of-pod-priority-and-qos:
\n\n\nScheduler\xe2\x80\x99s 抢占逻辑在选择抢占目标时不考虑 QoS。抢占会考虑 Pod 优先级并尝试选择一组优先级最低的目标。
\n
因此,如果 Kubernetes 必须在具有GuaranteedQoS 且“priorityClass”值低于Burstablepod 的 pod 之间进行选择,是否会将Guaranteedpod 置于抢占状态?
Quality of Service确定 pod 的调度和驱逐优先级。当 pod 没有被给予任何资源请求/限制时,它被视为low-priority pod (best effort). 如果节点资源不足,它是第一个被驱逐的 Pod。
Medium priority (burstable)当 pod 指定了任何资源/限制时(不满足保证类要求)。
Highest priority (guaranteed)当 Pod 将请求和限制设置为相同值(CPU 和内存)时。
PriorityClass用于确定驱逐时的 Pod 优先级。有时您可能希望在另一个 Pod 之前驱逐一个 Pod。优先级由其字段中的整数描述value,值越大,优先级越高。
启用 Pod 优先级后,调度程序会根据挂起的 Pod 的优先级进行排序,并且挂起的 Pod 会被放置在调度队列中优先级较低的其他挂起的 Pod 之前。如果没有资源满足高优先级节点的节点,它将驱逐优先级较低的 Pod。最高优先级是system-node-critical。
QoS用于控制和管理Pod间节点上的资源。当节点上没有可用资源时,会发生 QoS 驱逐。PriorityClass在考虑 QoS 之前先考虑 Pod 的性能。它不会尝试驱逐 Pod,除非需要调度更高优先级的 Pod 并且节点没有足够的空间容纳它们。PriorityClass- 当 Pod 被抢占时,PriorityClass遵守优雅终止期,但不保证 Pod 中断预算得到遵守。| 归档时间: |
|
| 查看次数: |
3199 次 |
| 最近记录: |