调度配置
Volcano组件支持K8s原生调度,可以使用nodeAffinity进行调度。以下示例使用强制的节点亲和性进行调度,更多关于nodeAffinity字段的说明请参见Kubernetes官方文档。
- Volcano Job的任务yaml中,需要添加如下加粗字段。
apiVersion: batch.volcano.sh/v1alpha1 kind: Job metadata: name: mindx-test labels: ... spec: ... maxRetry: 3 queue: default tasks: - name: "default-test" replicas: 1 template: metadata: labels: ... spec: affinity: # 新增以下加粗字段 nodeAffinity: # 节点亲和性配置 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: # 节点选择列表 - matchExpressions: - key: aaa # 匹配标签的key为aaa的节点,并且value是yyy的节点 operator: In values: - yyy podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: ... nodeSelector: host-arch: huawei-arm ...
- Ascend Job的任务yaml中,需要添加如下加粗字段。
apiVersion: mindxdl.gitee.com/v1 kind: AscendJob metadata: name: test-2 ... spec: schedulerName: volcano runPolicy: schedulingPolicy: minAvailable: 2 queue: default successPolicy: AllWorkers replicaSpecs: Master: replicas: 1 restartPolicy: Never template: metadata: labels: ... spec: affinity: # 新增字段 nodeAffinity: # 节点亲和性配置 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: # 节点选择列表 - matchExpressions: - key: aaa # 匹配标签的key为aaa的节点,并且value是yyy的节点 operator: In values: - yyy nodeSelector: host-arch: huawei-arm ...
可通过执行kubectl get node --show-labels命令,查询节点的标签。在LABELS字段下,等号前的值为标签的key值,等号后的值为标签的value值,如aaa=yyy。
父主题: 常用操作