运行 MPIJob
运行 Kueue 调度的 MPIJob
此页面展示了在运行 MPI 算子 MPIJob 时如何利用 Kueue 的调度和资源管理功能。
本指南适用于对 Kueue 有基本了解的 批处理用户。有关更多信息,请参阅 Kueue 概述。
开始之前
查看 管理集群配额,了解初始集群设置的详细信息。
查看 MPI 算子安装指南。
您可以修改已安装版本的 kueue 配置,将 MPIJobs 纳入允许的工作负载。
MPI 算子定义
a. 队列选择
目标本地队列应在 MPIJob 配置的 metadata.labels
部分中指定。
metadata:
labels:
kueue.x-k8s.io/queue-name: user-queue
b. 在 MPIJobs 中选择性设置挂起字段
spec:
runPolicy:
suspend: true
默认情况下,Kueue 将通过 webhook 将 suspend
设置为 true,并在 MPIJob 被接纳时取消挂起。
示例 MPI 作业
apiVersion: kubeflow.org/v2beta1
kind: MPIJob
metadata:
name: pi
labels:
kueue.x-k8s.io/queue-name: user-queue
spec:
slotsPerWorker: 1
runPolicy:
cleanPodPolicy: Running
ttlSecondsAfterFinished: 60
sshAuthMountPath: /home/mpiuser/.ssh
mpiReplicaSpecs:
Launcher:
replicas: 1
template:
spec:
containers:
- image: mpioperator/mpi-pi:openmpi
name: mpi-launcher
securityContext:
runAsUser: 1000
command:
- mpirun
args:
- -n
- "2"
- /home/mpiuser/pi
resources:
limits:
cpu: 1
memory: 1Gi
Worker:
replicas: 2
template:
spec:
containers:
- image: mpioperator/mpi-pi:openmpi
name: mpi-worker
securityContext:
runAsUser: 1000
command:
- /usr/sbin/sshd
args:
- -De
- -f
- /home/mpiuser/.sshd_config
resources:
limits:
cpu: 1
memory: 1Gi
有关在 Python 中执行此操作的等效说明,请参阅运行 Python 作业。