scheduler framework扩展点
k8s v1.25.0
扩展点 |
作用 |
queueSort |
待调度队列pod排序 |
preFilter |
预选前预处理 |
filter |
预选 |
postFilter |
预选后处理(可修改pod为可调度) |
preScore |
预打分 |
score |
优选 |
reserve |
资源预留给pod |
permit |
阻止或延迟pod绑定 |
preBind |
pod绑定节点前预处理 |
bind |
pod绑定节点 |
postBind |
pod绑定节点后处理 |
multiPoint |
配置扩展点启用和禁用哪些插件 |
默认启用插件
插件名称 |
作用 |
实现的扩展点 |
ImageLocality |
选择已经存在 Pod 运行所需容器镜像的节点 |
score |
TaintToleration |
污点和容忍 |
filter、preScore、score |
NodeName |
检查 Pod 指定的节点名称与当前节点是否匹配 |
filter |
NodePorts |
检查 Pod 请求的端口在节点上是否可用 |
preFilter、filter |
NodeAffinity |
节点选择器和节点亲和性 |
filter、score |
PodTopologySpread |
Pod拓扑分布 |
preFilter、filter、preScore、score |
NodeUnschedulable |
过滤.spec.unschedulable 值为true的节点 |
filter |
NodeResourcesFit |
检查节点是否拥有 Pod 请求的所有资源。得分可以使用以下三种策略之一:LeastAllocated(默认)、MostAllocated 和 RequestedToCapacityRatio。 |
preFilter、filter、score |
NodeResourcesBalancedAllocation |
选择资源使用更为均衡的节点 |
score |
VolumeBinding |
检查节点是否有请求的卷,或是否可以绑定请求的卷 |
preFilter、filter、reserve、preBind 和 score |
VolumeRestrictions |
检查挂载到节点上的卷是否满足卷提供程序的限制 |
filter |
VolumeZone |
检查请求的卷是否在任何区域都满足 |
filter |
NodeVolumeLimits |
检查该节点是否满足 CSI 卷限制 |
filter |
EBSLimits |
检查节点是否满足 AWS EBS 卷限制 |
filter |
GCEPDLimits |
检查该节点是否满足 GCP-PD 卷限制 |
filter |
AzureDiskLimits |
检查该节点是否满足 Azure 卷限制 |
filter |
InterPodAffinity |
实现 Pod 间亲和性与反亲和性 |
preFilter、filter、preScore、score |
PrioritySort |
提供默认的基于优先级的排序 |
queueSort |
DefaultBinder |
提供默认的绑定机制 |
bind |
DefaultPreemption |
提供默认的抢占机制 |
postFilter |
参考资料
https://kubernetes.io/zh-cn/docs/reference/scheduling/config/