nebius/soperator

Run Slurm in Kubernetes

它解决了什么问题

Soperator 简化了在 Kubernetes 上部署和管理 Slurm 集群的过程,特别适用于 AI 训练和高性能计算(HPC)工作负载。它消除了手动设置、调整规模和维护 Slurm 集群所需的工作量,同时降低了由于未检测到的硬件问题或 GPU 利用率低下而导致长时间训练任务失败的风险。

它如何工作

Soperator 使用 Kubernetes operator 模式。用户定义一个 SlurmCluster 自定义资源,描述集群布局(控制器、登录节点、工作节点、存储和健康检查)。然后,operator 将此规范转换为 Kubernetes 对象,如 Deployments 和 StatefulSets。为了确保集群中的一致性,它使用一个“沙箱”(通过 PVC 共享根文件系统),使得配置和软件包的更改能立即对所有节点可见。

适用于谁

它专为平台工程师和团队设计,这些团队正从裸金属 Slurm 安装迁移到基于 Kubernetes 的环境,需要一种可扩展、可靠的方式来提供 AI 训练的 Slurm 调度服务。

主要特性

  • 自动化集群管理:通过单一资源实现集群的声明式更新,支持扩容、升级和配置变更。
  • 高可靠性:结合被动监控和主动 GPU/网络探测,自动驱逐并替换故障节点。
  • GPU 效率:支持临时节点、自动伸缩以及 InfiniBand 拓扑感知,以优化 GPU 的部署。
  • 预安装软件栈:内置 NVIDIA 驱动、CUDA、NCCL 和常见的训练依赖项。
  • 企业级集成:支持 SSSD 身份管理、Prometheus/Grafana 可观测性,以及 Pyxis/Enroot 等兼容 OCI 的运行时。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目