项目处于 alpha 状态,API 可能变化;从 Training Operator V1 迁移需参考官方迁移文档;需先有可用的 Kubernetes 集群并安装对应运行时。
trainer
kubeflowApache-2.0活跃维护在 Kubernetes 上跑分布式模型训练和大模型微调的框架,把多机多卡任务编排成 K8s 原生作业,省去自己搭训练集群的麻烦。
Distributed AI Model Training and LLM Fine-Tuning on Kubernetes
README 未给出安装命令,请参考官方文档 https://trainer.kubeflow.org/en/latest/getting-started/index.htmlREADME 未说明具体显存或 GPU 型号要求;面向多节点、多 GPU 的 HPC 集群场景,需运行在 Kubernetes 集群上。
在 Kubernetes 上跑分布式训练和 LLM 微调的云原生平台,统一管理多框架多机多卡任务
在 Kubernetes 上跑分布式模型训练和大模型微调的框架,把多机多卡任务编排成 K8s 原生作业,省去自己搭训练集群的麻烦。
核心能力
- 用 TrainJob 和 Runtimes 两个 API 提交训练任务
- 把 MPI 带到 Kubernetes,编排多节点多 GPU 作业
- 支持 PyTorch、DeepSpeed、Megatron-LM、JAX、XGBoost 等框架
- 分布式数据缓存零拷贝直送 GPU 节点
- 复用 JobSet 与 LeaderWorkerSet 编排 AI 负载
容易踩的坑
- v2.4.0最新正式版2026-11-06 · 2026-11-06 11:16 UTC
This is Kubeflow Trainer v2.4.0 release.
helm install kubeflow-trainer oci://ghcr.io/kubeflow/charts/kubeflow-trainer \ --namespace kubeflow-system \ --create-namespace \ --version 2.4.0 \ --set runtimes.defaultEnabled=trueBreaking Changes
- [release-2.4] feat(api): BREAKING CHANGE: limit ReplicatedJob name length to 20 characters in runtimes (#4394 by @andreyvelich)
- fix(framework): BREAKING CHANGE: Set the TrainJob image on the MPI launcher and nodes (#4301 by @matbun)
- fix(manifests): BREAKING CHANGE honour dataCache.lws.install in the Helm chart (#4120 by @reckless-sherixx)
- fix(manifests): BREAKING CHANGE keep the CRDs on helm uninstall (#4122 by @reckless-sherixx)
- chore(api): BREAKING CHANGE: rename CertManagement configuration fields to generic names (#3386 by @tariq-hasan)
- fix(runtimes): emit PRTE env vars so MPI plugin works with Open MPI 5 (#4029 by @matbun)
- IMPORTANT: suspended TrainJobs that use the MPI plugin (e.g. DeepSpeed, MLX) and were created before the upgrade
fail to resume after upgrading to v2.4, because the new
PRTE_MCA_*env vars cannot be applied to the existing immutable JobSet. Wait for MPI-based TrainJobs to complete before upgrading, or recreate the affected TrainJobs after the upgrade.
- IMPORTANT: suspended TrainJobs that use the MPI plugin (e.g. DeepSpeed, MLX) and were created before the upgrade
fail to resume after upgrading to v2.4, because the new
🚀 Features
Workload-Aware Scheduling
- feat: Workload-Aware Scheduling for TrainJob – Phase 1 (KEP-3015) (#4254 by @andreyvelich)
- feat(api): KEP-3015: Workload Aware Scheduling for TrainJob (#3219 by @andreyvelich)
OptimizationJob API
- feat(controller): Add cache expectations to the OptimizationJob controller to prevent duplicate trial creation (#4150 by @aniket2405)
- feat(docs): add OptimizationJob user guide and runnable example (#4268 by @aniket2405)
- feat(controller): KEP-3562: [OptimizationJob] Add OptimizationJob alpha feature gate (#4331 by @akshaychitneni)
- feat(controller): KEP-3562: [OptimizationJob] Add OptimizationJob controller (#3828 by @aniket2405)
- feat(api): introduce OptimizationJob CRD under Trainer (#3552 by @aniket2405)
Dynamic Resource Allocation
- feat(api): implement DRA support for TrainJob (KEP-2782) (#4027 by @Sridhar1030)
- feat(api): KEP-2782: Dynamic Resource Allocation support for TrainJob (#3540 by @Sridhar1030)
Scheduling & Integrations
- feat(api): allow per-TrainJob schedulerName overrides (#4265 by @sfeng1996)
- feat(controller): Support Job Replicas for multi-slice TPU (#4250 by @andreyvelich)
- feat(framework): clean up Volcano PodGroup on TrainJob terminal or suspended state (#4059 by @daehyun-kim-94)
- feat(ci): add Prometheus monitoring overlay (#4102 by @abhijeet-dhumal)
- feat: Add slurm-bridge scheduling documentation (#3951 by @killianmuldoon)
🐛 Bug Fixes
- [release-2.4] fix(examples): correct OptimizationJob SDK and memory requirements (#4403 by @danvau7)
- [release-2.4] fix(controller): validate status server tokens with TokenReview ([#4393](https://github.com
- v2.4.0-rc.1pre-release2026-11-04 · 2026-11-04 14:53 UTC
这个版本没有写更新说明。
- v2.4.0-rc.0pre-release2026-10-31 · 2026-10-31 20:22 UTC
这个版本没有写更新说明。
- v1.9.42026-08-18 · 2026-08-18 19:16 UTC
查看更新说明
This is Training Operator v1.9.4 release.
New Features
- [release-1.9] Bump v1 Kubernetes dependencies to 1.36 (#3924 by @robert-bell)
Bug Fixes
- v2.3.02026-08-07 · 2026-08-07 02:27 UTC
查看更新说明
This is Kubeflow Trainer v2.3.0 release.
helm install kubeflow-trainer oci://ghcr.io/kubeflow/charts/kubeflow-trainer \ --namespace kubeflow-system \ --create-namespace \ --version 2.3.0 \ --set runtimes.defaultEnabled=trueBreaking Changes
- feat(runtimes): BREAKING CHANGE: Remove Runtime Finalizers (#3716 by @amirialy)
- feat(manifests): BREAKING CHANGE: Move CRD to Helm chart template directory (#3655 by @andreyvelich)
- IMPORTANT: if you are upgrading from Kubeflow Trainer v2.0, v2.1 or v2.2, you must first upgrade to v2.3 before upgrading to any later version. See this migration guide for the details.
🚀 Features
- feat: KEP-3562: Introduce OptimizationJob CRD (#3565 by @aniket2405)
- feat(runtimes): make MPI launcher depend on worker readiness (#3748 by @andreyvelich)
- feat: expose Image and Command on PodSet Container (#3674 by @reckless-sherixx)
- feat: move enableHTTP2 setting to Configuration object (#3339 by @krishdef7)
- feat: implement runtime snapshot mechanism (KEP-2599) (#3580 by @robert-bell)
- feat(initializer): validate initializer Pod uses correct volume name (#3714 by @HarshPopat23)
- feat(docs): add theme toggle to top navbar (#3682 by @adityabavadekar)
- feat(runtimes): Add label to disable webhook validation for Runtimes (#3683 by @andreyvelich)
- feat: add Flux integration and e2e tests (#3561 by @amirialy)
- feat(examples): add interactive JAX distributed TPU smoke test notebook (#3531 by @richabanker)
- feat(ci): add govulncheck CVE detection workflow for PR checks (#3557 by @ChughShilpa)
- feat(docs): add dedicated documentation website (#3308 by @Sridhar1030)
- feat: inject PET_* envs into init containers via envInjection config (#3516 by @panpan0000)
- feat(ci): automate release process (#3536 by @Krishna-kg732)
- feat(api): Add terminationGracePeriodSeconds to PodSpecPatch in TrainJob (#3324 by @krishdef7)
- feat(ci): add Python dependency scanning to OSV-Scanner workflow (#3530 by @Fiona-Waters)
- feat(ci): add nightly OSV-Scanner vulnerability scan workflow (#3518 by @Fiona-Waters)
- feat(docs): KEP-2599: Decouple runtime lifecycle from TrainJobs to simplify updating runtimes (#3428 by @robert-bell)
- feat: KEP for inject PET envs into init-container (#3417 by @panpan0000)
- feat: storageuri targetjob validation fix (#3510 by @pulkit-999)
- feat(docs): add AI policy reference to contributing guide (#3493 by @andreyvelich)
- feat(runtimes): add validation for reserved MPI environment variables (#3491 by @adiprathapa)
- feat: update k8s to 0.36 (#3470 by @kannon92)
- feat: merge gpu-cluster setup into single e2e script via flag ([#3281]
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Kubeflow Trainer
Latest News 🔥
- [2026/08] Kubeflow Trainer v2.3.0 is officially released with the runtime snapshot mechanism for decoupled runtime lifecycle, enhanced MPI support, and proposal Megatron-LM examples. Check out the GitHub release notes.
- [2026/03] Kubeflow Trainer v2.2 is officially released with support for JAX and XGBoost Training Runtimes, enhanced observability with metrics propagation to TrainJob status, and Flux Framework integration for HPC and MPI workloads. Check out the blog post announcement.
- [2025/11] Kubeflow Trainer v2.1 is officially released with support of Distributed Data Cache, topology aware scheduling with Kueue and Volcano, and LLM post-training enhancements. Check out the GitHub release notes.
- [2025/09] Kubeflow SDK v0.1 is officially released with support for CustomTrainer, BuiltinTrainer, and local PyTorch execution. Check out the GitHub release notes.
- [2025/07] PyTorch on Kubernetes: Kubeflow Trainer Joins the PyTorch Ecosystem. Find the announcement in the PyTorch blog post.
- [2025/07] Kubeflow Trainer v2.0 has been officially released. Check out the blog post announcement and the release notes.
- [2025/04] From High Performance Computing To AI Workloads on Kubernetes: MPI Runtime in Kubeflow TrainJob. See the KubeCon + CloudNativeCon London talk
Overview
Kubeflow Trainer is a Kubernetes-native distributed AI platform for scalable large language model (LLM) fine-tuning, hyperparameter optimization, and training of AI models across a wide range of frameworks, including PyTorch, MLX, HuggingFace, DeepSpeed, Megatron-LM, JAX, XGBoost, and more.
Kubeflow Trainer brings MPI to Kubernetes, orchestrating multi-node, multi-GPU distributed jobs efficiently across high-performance computing (HPC) clusters. This enables high-throughput communication between processes, making it ideal for large-scale AI training that requires ultra-fast synchronization between GPUs nodes.
Kubeflow Trainer seamlessly integrates with the Cloud Native AI ecosystem, including Kueue for topology-aware scheduling and multi-cluster job dispatching, Slurm Bridge for scheduling on hybrid Kubernetes and Slurm clusters, and KAI Scheduler for GPU aware scheduling.
Kubeflow Trainer reuses existing Kubernetes-native building blocks like JobSet and LeaderWorkerSet for AI workload orchestration.
Kubeflow Trainer provides a distributed data cache designed to stream large-scale data with zero-copy transfer directly to GPU nodes. This ensures memory-efficient training jobs while maximizing GPU utilization.
With the Kubeflow Python SDK, AI practitioners can effortlessly develop and fine-tune LLMs while leveraging the Kubeflow Trainer APIs: TrainJob and Runtimes.
Kubeflow Trainer Introduction
Checkout following KubeCon + CloudNativeCon talks for Kubeflow Trainer capabilities:
Additional talks:
- From High Performance Computing To AI Workloads on Kubernetes: MPI Runtime in Kubeflow TrainJob
- Streamline LLM Fine-tuning on Kubernetes With Kubeflow LLM Trainer
Getting Started
Please check the official Kubeflow Trainer documentation to install and get started with Kubeflow Trainer.
Community
The following links provide information on how to get involved with the Kubeflow Trainer community:
- Join our
#kubeflow-trainerSlack channel. - Attend the bi-weekly Kubeflow Trainer and Katib call.
- If you use Kubeflow Trainer, add yourself to the ADOPTERS file.
Kubeflow Trainer is a Kubeflow subproject. Refer to the Kubeflow community page for more information.
Contributing
Please refer to the CONTRIBUTING guide.
Changelog
Please refer to the CHANGELOG directory.
Kubeflow Training Operator V1
Kubeflow Trainer project is currently in alpha status, and APIs may change. If you are using Kubeflow Training Operator V1, please refer to this migration document.
Kubeflow Community will maintain the Training Operator V1 source code at
the release-1.9 branch.
You can find the documentation for Kubeflow Training Operator V1 in these guides.
Acknowledgement
This project was originally started as a distributed training operator for TensorFlow and later we merged efforts from other Kubeflow Training Operators to provide a unified and simplified experience for both users and developers. We are very grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions. We'd also like to thank everyone who's contributed to and maintained the original operators.
- PyTorch Operator: list of contributors and maintainers.
- MPI Operator: list of contributors and maintainers.
- XGBoost Operator: list of contributors and maintainers.
- Common library: list of contributors and maintainers.
