kubernetes中的自定义计划程序名称是什么
我已经为自定义计划程序运行了服务帐户和pod。那么我的自定义计划程序名称是什么?它将是pod名称、服务名称或其他任何名称。通常,您在编写计划程序本身时定义计划程序名称。然后为调度器创建一个docker容器,并在kubernetes中作为部署运行该调度器 现在,调度器将调度您的POD(基于您编写调度的方式) 您应该观看以下Kelsey Hightower关于如何编写和使用自定义调度程序的谈话 这是玩具调度器的源代码,你可以参考 希望这能给你一个简单的想法 编辑: kelsey hightower的调度程序(上述链接)必须以以下方式部署:kubernetes中的自定义计划程序名称是什么,kubernetes,Kubernetes,我已经为自定义计划程序运行了服务帐户和pod。那么我的自定义计划程序名称是什么?它将是pod名称、服务名称或其他任何名称。通常,您在编写计划程序本身时定义计划程序名称。然后为调度器创建一个docker容器,并在kubernetes中作为部署运行该调度器 现在,调度器将调度您的POD(基于您编写调度的方式) 您应该观看以下Kelsey Hightower关于如何编写和使用自定义调度程序的谈话 这是玩具调度器的源代码,你可以参考 希望这能给你一个简单的想法 编辑: kelsey hightowe
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
应该是在您的代码中定义的调度程序的名称。我得到了它,但其他部署将使用该调度程序,在yaml文件中有什么是schedulerName字段。是自定义调度程序pod的depoyment名称还是其他名称?您需要在调度程序中编写函数来执行此操作。但是现在您可以有多个调度器,这样您就可以使用您的特定需求进行调度,也可以使用默认调度器进行标准调整,如nodeSelector等。是的,我检查了这一点。如果我对默认调度器使用node_selector,则在nodeSelector匹配时分配节点,但在这种情况下,自定义计划程序节点名未分配与nodeselctor匹配的节点名。仅当计划程序更改节点名时,才会发生这种情况。