运行 TFJob
使用 Kueue 调度 TFJob
此页面展示了在运行 Trainer TFJob 时,如何利用 Kueue 的调度和资源管理能力。
本指南适用于对 Kueue 有基本了解的批处理用户。 欲了解更多信息,请参阅 Kueue 概述。
警告
弃用通知: Kueue 中与 Kubeflow Trainer v1(包括 TFJob)的集成已弃用,并将于未来的版本(暂定 v0.20)中移除。
Kubeflow Trainer v1 现在已是传统遗留项目(legacy)。我们强烈建议迁移到 Kubeflow Trainer v2(在 Kueue 中已通过 TrainJob(英文文档)提供支持),或者使用其他替代框架(例如 JobSet)来运行您的作业。有关如何迁移的详细信息,请参阅 Kubeflow Trainer v1 到 v2 迁移指南(英文文档)。
开始之前
请查看管理集群配额, 以获取初始集群设置的详细信息。
请查阅 Trainer 安装指南。
请注意,Trainer 的最低要求版本是 v1.7.0。
你可以修改已安装版本的 Kueue 配置, 以将 TFJob 添加到允许的工作负载中。
注意
为了使用 Trainer,在 v0.8.1 之前,你需要在安装后重启 Kueue。 你可以通过运行以下命令来实现:kubectl delete pods -l control-plane=controller-manager -n kueue-system。TFJob 定义
a. 队列选择
目标 本地队列 应当在 TFJob
配置的 metadata.labels 部分指定。
metadata:
labels:
kueue.x-k8s.io/queue-name: user-queue
b. 可选择在 TFJob 中设置 Suspend 字段
spec:
runPolicy:
suspend: true
默认情况下,Kueue 将通过 Webhook 将 suspend 设置为 true,并在 TFJob 被接受时取消挂起。
TFJob 示例
apiVersion: kubeflow.org/v1
kind: TFJob
metadata:
name: tensorflow-dist-mnist
namespace: default
labels:
kueue.x-k8s.io/queue-name: user-queue
spec:
tfReplicaSpecs:
PS:
replicas: 1
restartPolicy: Never
template:
spec:
containers:
- name: tensorflow
image: kubeflow/tf-dist-mnist-test:latest
resources:
requests:
cpu: 1
memory: "200Mi"
Worker:
replicas: 2
restartPolicy: Never
template:
spec:
containers:
- name: tensorflow
image: kubeflow/tf-dist-mnist-test:latest
resources:
requests:
cpu: 1
memory: "200Mi"
反馈
这个页面有帮助吗?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.