创建MSJob任务
更新时间 2026-06-10 18:21:03
最近更新时间: 2026-06-10 18:21:03
本节介绍创建MSJob任务。
MSJob是广泛应用的机器学习框架,能够帮助模型开发人员实现多机多卡分布式训练。在联邦集群中,可以提交MSJob作业来完成mindspore框架下的机学习任务。
前提条件
1、成员集群已经安装mindspore机器学习框架
2、联邦集群版本大于或者等于v1.14.8
3、成员集群具备MSJob作业运行的资源条件
4、成员集群已经添加到联邦集群中
操作步骤
步骤一:在联邦集群中创建MSJob任务的自定义资源定义
1、从官网下载MSJob的CRD,使用联邦的接入配置创建于联邦的控制面
kubectl --kubeconfig karmada_kubeconfig apply -f msob_crd.yaml2、查看TFJob的CRD
kubectl --kubeconfig karmada_kubeconfig get crd msjobs.mindspore.gitee.com预期输出:
[root@ccseagent-hxk4joo11x cceone]# kubectl --kubeconfig karmada_kubeconfig get crd msjobs.mindspore.gitee.com
NAME CREATED AT
msjobs.mindspore.gitee.com 2026-04-02T09:26:26Z步骤二:在联邦控制面创建MSJob任务
1、使用接入配置,在联邦控制面创建自定义的MSJob任务
kubectl --kubeconfig karmada_kubeconfig apply -f msjob-sample.yamlmsjob-sample.yaml文件内容如下:
apiVersion: mindspore.gitee.com/v1
kind: MSJob
metadata:
name: ms-sample
namespace: default
spec:
msReplicaSpecs:
Scheduler:
replicas: 1
restartPolicy: Never
template:
metadata: {}
spec:
containers:
- args:
- -c
- while true; do echo hello; sleep 10; done
command:
- /bin/bash
image: isuite-pub-registry-xinan1.crs-internal.ctyun.cn/isuite/ascend-mindspore-example:multi
imagePullPolicy: Always
name: mindspore
resources:
limits:
nvidia.com/gpu: "1"
requests:
nvidia.com/gpu: "1"
volumeMounts:
- mountPath: /dev/shm
name: shm
priorityClassName: isuite-low-priority
volumes:
- emptyDir:
medium: Memory
name: shm
runPolicy:
schedulingPolicy:
priorityClass: isuite-low-priority步骤三:在联邦控制面创建MSJob任务的分发策略
1、使用接入配置,在联邦控制创建步骤二MSJob任务的分发策略
kubectl --kubeconfig karmada_kubeconfig apply -f msjob-sample-pp.yamlmsjob-sample-pp.yaml内容如下:
apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
name: ms-sample
spec:
resourceSelectors:
- apiVersion: mindspore.gitee.com/v1
kind: MSJob
name: ms-sample
placement:
replicaScheduling:
replicaDivisionPreference: Aggregated
replicaSchedulingType: Divided2、查看TFJob任务的状态
kubectl --kubeconfig karmada_kubeconfig get MSJob ms-sample