kubernetes中的自定义调度程序名称



我已经为自定义调度器运行了服务帐户和pod。那么我的自定义调度器名称是什么?它将是pod名称或服务名称或其他任何名称。

通常,在编写调度器时定义调度器名称。然后为scheduler创建一个docker容器,并将该scheduler作为部署在kubernetes中运行。

现在,调度器将调度您的pod(基于您编写调度的方式(。

您应该观看以下Kelsey Hightower关于如何编写自定义调度程序并使用的演讲

https://www.youtube.com/watch?v=IYcL0Un1io0

这是玩具调度程序的源代码,您可以参考

https://github.com/kelseyhightower/scheduler

希望这能给你一个简短的想法。

编辑:

kelsey hightower的调度器(上面提到的链接(必须以以下方式部署:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: scheduler
name: scheduler
spec:
replicas: 1
template:
metadata:
labels:
app: scheduler
name: scheduler
spec:
containers:
- name: scheduler
image: kelseyhightower/scheduler:0.4.0
- name: kubectl
image: kelseyhightower/kubectl:1.3.4
args:
- "proxy"

然后,无论何时使用该调度器部署新的pod,都需要在yaml文件中提供"schedulerName":

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
spec:
replicas: 1
template:
metadata:
labels:
app: nginx
name: nginx
spec:
schedulerName: hightower
containers:
- name: nginx
image: "nginx:1.11.1-alpine"
resources:
requests:
cpu: "500m"
memory: "128M"

schedulerName应该是代码中定义的调度程序的名称。

最新更新