105 - kube-scheduler源码分析 - predicate算法注册

时间:2018-12-10
本文章向大家介绍105 - kube-scheduler源码分析 - predicate算法注册,主要包括105 - kube-scheduler源码分析 - predicate算法注册相关应用实例、知识点总结和注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、predicate注册过程 

今天我们来聊聊predicate函数是怎么被注册进去的,也就是要执行的一堆predicate是怎么成为“选中的孩子”。 
代码位置:pkg/scheduler/factory/plugins.go:111
这个函数注册一个predicate函数,返回predicate名。
 
第二个参数:
type FitPredicate func(pod *v1.Pod, meta PredicateMetadata, nodeInfo *schedulercache.NodeInfo) (bool, []PredicateFailureReason, error)
 
这个函数(RegisterFitPredicate)的被调用场景如下,第一个参数是一个字符串常量,第二个参数是一个函数类型
RegisterFitPredicate的2个参数其实长这个样子,如下:
 
 
RegisterFitPredicate中调用的是RegisterFitPredicateFactory完成注册逻辑,RegisterFitPredicateFactory定义如下: