Kubernetes Scheduler浅析

Kubernetes Scheduler负责将Pod调度到合适的Node上,通过过滤和打分两步选择最佳节点。过滤阶段检查节点的资源、选择器、污点、容忍度和亲和性等条件,打分阶段则依据多种策略评估节点的适合度。调度器并不保证全局最优,而是确保局部最优。本文深入介绍了调度过程中的关键步骤和策略。
摘要由CSDN通过智能技术生成

概述

Kubernetes 调度器(Scheduler)是Kubernetes的核心组件;用户或者控制器创建Pod之后,调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。调度器会依据下文的调度原则来做出调度选择。

kube-scheduler 给一个 pod 做调度选择包含两个步骤:过滤、打分
过滤阶段会将所有满足 Pod 调度需求的 Node 选出来。例如,PodFitsResources 过滤函数会检查候选 Node 的可用资源能否满足 Pod 的资源请求。在过滤之后,得出一个 Node 列表,里面包含了所有可调度节点;通常情况下,这个 Node 列表包含不止一个 Node。如果这个列表是空的,代表这个 Pod 不可调度。
打分阶段,调度器会为 Pod 从所有可调度节点中选取一个最合适的 Node。根据当前启用的打分规则,调度器会给每一个可调度节点进行打分。
最后,kube-scheduler 会将 Pod 调度到得分最高的 Node 上。如果存在多个得分最高的 Node,kube-scheduler 会从中随机选取一个。

本文主要对Kubernetes Scheduler做一个简单介绍,让大家理解 Pod 为什么会被调度到特定的 Node 上。

首先来看下Pod生命周期

在这里插入图片描述

调度示意图

Kubernetes Scheduler的任务是选择一个P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值