创建TFJob任务
更新时间 2026-06-10 18:20:59
最近更新时间: 2026-06-10 18:20:59
本节介绍创建TFJoB任务。
TFJob是广泛应用的机器学习框架,能够帮助模型开发人员实现多机多卡分布式训练。在联邦集群中,可以提交TFJob作业来完成TensorFlow框架下的机学习任务。
前提条件
1、成员集群已经安装kubeflow机器学习框架
2、联邦集群版本大于或者等于v1.14.8
3、成员集群具备TFJob作业运行的资源条件
4、成员集群已经添加到联邦集群中
操作步骤
步骤一:在联邦集群中创建TFJob任务的自定义资源定义
1、从官网下载TFJob的CRD,使用联邦的接入配置创建于联邦的控制面
kubectl --kubeconfig karmada_kubeconfig apply -f tfjob_crd.yaml2、查看TFJob的CRD
kubectl --kubeconfig karmada_kubeconfig get crd tfjobs.kubeflow.org预期输出:
[root@ccseagent-hxk4joo11x cceone]# kubectl --kubeconfig karmada_kubeconfig get crd tfjobs.kubeflow.org
NAME CREATED AT
tfjobs.kubeflow.org 2026-04-02T09:26:26Z步骤二:在联邦控制面创建TFJob任务
1、使用接入配置,在联邦控制面创建自定义的TFJob任务
kubectl --kubeconfig karmada_kubeconfig apply -f tfjob-sample.yamltfjob-sample.yaml文件内容如下:
apiVersion: kubeflow.org/v1
kind: TFJob
metadata:
name: tf-sample
namespace: default
spec:
runPolicy:
schedulingPolicy:
priorityClass: isuite-low-priority
suspend: false
tfReplicaSpecs:
Worker:
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/nvidia-tensorflow:2.16.2-py311-cu123-ubuntu22.04-amd64
imagePullPolicy: Always
name: tensorflow
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步骤三:在联邦控制面创建TFJob任务的分发策略
1、使用接入配置,在联邦控制创建步骤二TFJob任务的分发策略
kubectl --kubeconfig karmada_kubeconfig apply -f tf-sample-pp.yamltf-sample-pp.yaml内容如下:
apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
name: tf-sample
spec:
resourceSelectors:
- apiVersion: kubeflow.org/v1
kind: TFJob
name: tf-sample
placement:
replicaScheduling:
replicaDivisionPreference: Aggregated
replicaSchedulingType: Divided2、查看TFJob任务的状态
kubectl --kubeconfig karmada_kubeconfig get TFJob tf-sample