Kubernetes QoS与调度关系的澄清

Kubernetes QoS与调度关系的澄清,kubernetes,qos,Kubernetes,Qos,据 Kubernetes使用QoS类来决定调度和收回POD 我不明白QoS类与调度有什么关系?文档中提到,QoS类决定了节点资源耗尽时的逐出顺序 另一方面,调度使用pod优先级(PriorityClass)来设置调度顺序和抢占 我的问题是QoS和调度之间的联系是什么 我的问题是QoS和调度之间的联系是什么 据 kube调度程序通过两步操作为pod选择一个节点: Filtering Scoring 过滤步骤会找到一组可以过滤的节点 安排吊舱的时间。例如,PodFitsResources过滤器检查

Kubernetes使用QoS类来决定调度和收回POD

我不明白QoS类与调度有什么关系?文档中提到,QoS类决定了节点资源耗尽时的逐出顺序

另一方面,调度使用pod优先级(PriorityClass)来设置调度顺序和抢占

我的问题是QoS和调度之间的联系是什么

我的问题是QoS和调度之间的联系是什么

kube调度程序通过两步操作为pod选择一个节点:

Filtering
Scoring
过滤步骤会找到一组可以过滤的节点 安排吊舱的时间。例如,PodFitsResources过滤器检查 候选节点是否有足够的可用资源来满足Pod的需求 特定的资源请求。在此步骤之后,节点列表包含 任何合适的节点;通常,会有不止一个。如果列表是 空的,那个吊舱(还)不可调度

在评分步骤中,调度器对要选择的剩余节点进行排序 最合适的吊舱位置。调度程序会为每个节点分配一个分数 过滤后幸存的节点,将此分数基于活动分数 规则

最后,kube调度器将Pod分配给具有最高性能的节点 排名如果有多个节点的分数相等, kube调度程序随机选择其中一个

因此,QoS在kube调度程序操作的过滤步骤中起作用,相应的PodFitsResources过滤

PodFitsResources:检查节点是否有可用资源(例如,CPU和 内存)以满足Pod的要求


我仍然不确定QoS类的类型和PodFitsResources过滤器之间的联系。你的意思是,根据类别的不同,决策可能会有所不同,例如,如果一个pod的类别是BestEffort,则由于缺少请求值,任何节点都将通过PodFitsResources筛选器,而对于Burstable和Guaranted pod,只有具有足够容量来容纳请求值的节点才会通过筛选器?你说得对!首先,PodFitsResources检查节点的可分配pod,然后检查“request”值。您可以在此处(第783行)查看kube scheduler PodFitsResources函数: