从零开始入门 K8s | 调度器的调度流程和算法介绍(18)

  • ServiceAntiAffinity , 是为了支持 Service 下的 Pod 的分布要按照 Node 的某个 label 的值进行均衡 。 比如:集群的节点有云上也有云下两组节点 , 我们要求服务在云上云下均衡去分布 , 假设 Node 上有某个 label , 那我们就可以用这个 ServiceAntiAffinity 进行打散分布;

  • NodeLabelPrioritizer , 主要是为了实现对某些特定 label 的 Node 优先分配 , 算法很简单 , 启动时候依据调度策略 (SchedulerPolicy)配置的 label 值 , 判断 Node 上是否满足这个label条件 , 如果满足条件的节点优先分配;

  • ImageLocalityPriority , 节点亲和主要考虑的是镜像下载的速度 。 如果节点里面存在镜像的话 , 优先把 Pod 调度到这个节点上 , 这里还会去考虑镜像的大小 , 比如这个 Pod 有好几个镜像 , 镜像越大下载速度越慢 , 它会按照节点上已经存在的镜像大小优先级亲和 。

Pod 亲和&反亲和

推荐阅读