Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ go-learning 适用于有一定 `kubernetes` 经验,且想更进一步的同学
- [kubectl plugin 源码分析](./doc/kubernetes/kubectl-plugin.md)
- [scheduler 源码分析一 - 启动](./doc/kubernetes/scheduler-start.md)
- [scheduler 源码分析二 - 调度](./doc/kubernetes/scheduler-schedule.md)
- [scheduler 扩展](./doc/kubernetes/scheduler-extend.md)
- [kubernetes 网络分析](./doc/kubernetes/network.md)
- [kube-proxy 源码分析](./doc/kubernetes/kube-proxy.md)
- [operator 用法详解](./doc/kubernetes/operator.md)
Expand Down
28 changes: 28 additions & 0 deletions doc/kubernetes/scheduler-extend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Kubernetes 调度扩展

## 概述
- 不涉及调度的基本原理
- Kubernetes 的调度代码分析可参考 [源码分析](https://github.com/caoyingjunz/go-learning/blob/master/doc/kubernetes/scheduler-start.md)

## 扩展方法
- 修改 `kube-scheduler` 的代码
- 独立调度器
- Scheduler Extender
- Scheduler Framework

### 修改 `kube-scheduler` 的代码
- 修改原生 `kube-scheduler` 的代码,编译,部署。
- 不推荐
- 开发难度大,维护成本高。

### 独立调度器
- 自定义开发调度器,与 `kube-scheduler` 同时部署运行在 `kubernetes` 集群中,`pod` 通过 `spec.schedulerName` 指定调度程序。
- 不推荐
- 开发难度大,维护成本高,多个调度器之间存在资源冲突问题。

### Scheduler Extender
通过 webhook 实现 filter 和 score
TODO

### Scheduler Framework
TODO