- 利用kubernetes scheduler framework提供的插件形式,自定义kubernetes的调度器
- 采用bin packing装箱算法实现kubernetes的调度
- 首先通过扩展queueSort插件,排序目前等待调度的pods队列,优先调度cpu(核数)+Mem(KB)小的pods
- 然后扩展score插件,根据目前node上的pod数量评分len(pods)*10,这样优先调度pods数多的node节点
- 由此解决尽可能少占用node节点的装箱问题
$ make local
$ make image
$ kubectl apply -f ./deploy/bin-packing-plugin.yaml
$ kubectl apply -f ./deploy/test.yaml