最近更新时间:2025-08-13 11:27:44
volcano是基于k8s构建的高性能AI批处理调度引擎,提供了队列资源管理与一系列丰富的调度策略,如Gang调度、优先级调度、Binpack调度、DRF调度、队列内抢占、队列间借调等。kce-volcano在原生volcano的基础上,支持增加FIFO调度、GPU拓扑感知调度、GPU卡与RDMA网卡亲和性调度等特性。
已创建KCE1.0容器服务集群,且集群处于运行中状态。详细操作,请参见创建集群。
KCE1.0容器服务集群k8s版本为1.25.15、1.27.7。
新版kce-volcano通过NRI组件分配网卡与GPU资源,集群中存量GPU节点如果没有开启NRI配置,需要手动开启,NRI配置文件位于/etc/containerd/config.toml。
登录容器服务控制台。
在左侧导航栏中选择 集群,单击需要配置的目标集群。
在集群管理页面的左侧导航栏中,选择 云原生AI-组件管理。
将鼠标移动到kce-volcano组件上,点击右下角 安装。支持表单配置与高级配置:
需注意队列内抢占与FIFO在调度策略上互斥;
表单配置 | 高级配置 |
|---|---|
支持gang调度(默认)、优先级调度(默认)、节点Binpack调度、主导资源公平调度、主导资源公平调度、队列内抢占、队列间借调、FIFO调度、设备共享调度等。 | 通过config配置文件直接配置,支持更多调度策略。 |
配置文件示例:
actions: "enqueue, allocate, backfill"
tiers:
- plugins:
- name: priority
- name: gang
enablePreemptable: false
- name: job-order
- name: conformance
- plugins:
- name: overcommit
- name: drf
enablePreemptable: false
- name: predicates
- name: proportion
- name: nodeorder
arguments:
leastrequested.weight: 0
- name: binpack
- name: gpu-topology工作负载使用kce-volcano示例:
apiVersion: batch.volcano.sh/v1alpha1
kind: Job
metadata:
name: test-job-1
annotations:
fortest: test
spec:
minAvailable: 1
schedulerName: volcano #调度器需要指定为volcano
plugins:
ssh: []
env: []
svc: []
policies:
- event: PodEvicted
action: RestartJob
maxRetry: 5
tasks:
- replicas: 5
name: "default-nginx-1"
template:
metadata:
name: web
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: nginx
resources:
requests:
cpu: 200m
memory: 100Mi
restartPolicy: OnFailurekce-volcano组件安装后,可点击组件右下角 更新,更新参数同样支持表单配置与高级配置。
kce-volcano组件安装后,有新版本更新后,可点击组件右下角 升级,升级至最新版本。
kce-volcano组件安装后,可点击组件右下角 卸载,卸载kce-volcano组件。需注意:卸载kce-volcano后,相关工作负载及关联资源会被同时删除,请谨慎操作!
纯净模式