如何解决Kubernetes QoS 与调度关系的澄清
根据https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/
Kubernetes 使用 QoS 类来决定调度和驱逐 Pod。
我不明白 QoS 类与调度有什么关系?该文档提到 QoS 类决定了节点资源耗尽时的驱逐顺序。
另一方面,调度使用 pod 优先级(PriorityClass)来设置调度顺序和抢占。
我的问题是 QoS 和调度之间的联系是什么?
解决方法
我的问题是 QoS 和调度之间的联系是什么?
根据https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/
kube-scheduler 分两步为 pod 选择一个节点:
Filtering
Scoring
过滤步骤找到可行的节点集 安排 Pod。例如,PodFitsResources 过滤器检查 候选节点是否有足够的可用资源来满足 Pod 的需求 特定的资源请求。在这一步之后,节点列表包含 任何合适的节点;通常,会有不止一个。如果列表是 空的,那个 Pod(还)不是可调度的。
在评分步骤中,调度器对剩余的节点进行排名以供选择 最合适的 Pod 放置。调度器为每个分配一个分数 在过滤后幸存下来的节点,基于主动评分 规则。
最后,kube-scheduler 将 Pod 分配给最高的 Node 排行。如果有多个节点的分数相同, kube-scheduler 随机选择其中之一。
因此 QoS 在相应 PodFitsResources 过滤器的 kube-scheduler 操作的过滤步骤中起作用。
根据https://kubernetes.io/docs/reference/scheduling/policies/
PodFitsResources:检查节点是否有空闲资源(例如,CPU 和 内存)来满足 Pod 的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。