kubernetes 自定义调度器

todo:

1: 修改proiority 打分逻辑,加上load的权重

2: 编译新的调度器,打包推上线

3: 为某些deployment 指定使用新的调度器

 

 

正文

 

2:编译新的调度器,打包上线

参考 https://k8smeetup.github.io/docs/tasks/administer-cluster/configure-multiple-schedulers/

 

3:指定调度器

通过提供调度器名称作为spec.schedulerName

参考同上连接

 

1: 如何修改打分逻辑

下载了1.11.1的kubernetes源码,在

kubernetes-1.11.1]# vim pkg/scheduler/algorithm/priorities/least_requested.go

中找到了,对于request 资源设置的优选打分代码,非常简单,完全可以参考写一个!

 

假设写完了,

 

那么如何被调度器应用呢?即,引用代码在哪?

为了快速实现,绕过研究调用链,直接在上述的least_requested.go 代码中修改request的打分,加上load负载的值,进行测试

 

缺陷,因为两个因子放到了一个表达式中进行计算,两者的占比都会被缩小,所以可以加大这一块在最终表达式中改的占比权重!pkg/scheduler/algorithmprovider/defaults/compatibility_test.go

 

 

 

获取node

你可能感兴趣的:(kubernetes 自定义调度器)