释放双眼,带上耳机,听听看~!
API Server接受客户端提交Pod对象创建请求后的操作过程中,有一个重要的步骤就是由调度器程序kube-scheduler
从当前集群中选择一个可用的最佳节点来接收并运行它,通常是默认的调度器kube-scheduler
负责执行此类任务。对于每个待创建的Pod对象来说,调度过程通常分为两个阶段—》过滤
—》打分
,过滤阶段用来过滤掉不符合调度规则的Node,打分阶段建立在过滤阶段之上,为每个符合调度的Node进行打分,分值越高则被调度到该Node的机率越大。
Pod调度策略除了系统默认的kube-scheduler
调度器外还有以下几种实现方式:
- nodeName(直接指定Node主机名)
- nodeSelector (节点选择器,为Node打上标签,然后Pod中通过nodeSelector选择打上标签的Node)
- 污点taint与容忍度tolerations
- NodeAffinity 节点亲和性
- PodAffinity Pod亲和性
- PodAntAffinity Pod反亲和性å
以下几章节内容主要讲解上面几种调度策略以及kube-scheduler
调度器的调度原理。