diff --git a/README.md b/README.md index 96642c0..f9fe367 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/doc/kubernetes/scheduler-extend.md b/doc/kubernetes/scheduler-extend.md new file mode 100644 index 0000000..16d0575 --- /dev/null +++ b/doc/kubernetes/scheduler-extend.md @@ -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 \ No newline at end of file