volcano-scheduler源码阅读
volcano-scheduler源码阅读
volcano-scheduler源码结构为
- pkg/scheduler: 调度器源码
- actions: 调度器的调度动作
- allocate
- backfill
- enqueue
- preempt
- reclaim
- shuffle
- api:
- cache
- capabilities
- conf
- framework
- metrics
- plugins
- uthelper
- util
- scheduler.go
- util_test.go
- util.go
- actions: 调度器的调度动作
volcano调度器会查看未调度的pods(podgroup),找到合适的节点然后写入api-server
入口文件是在cmd/scheduler/main.go
调度主循环:pkg/scheduler/scheduler.go run方法,调度器如何处理调度队列
调度动作:pkg/scheduler/actions
插件机制:pkg/scheduler/plugins插件的注册和执行流程
allocate.go