About this project

# Kubernetes Operator for Slurm Clusters Run Slurm on Kubernetes, by SchedMD. A Slinky project. ## Overview Slurm and Kubernetes are workload managers designed for different workloads. Kubernetes excels at scheduling indefinite workloads with vague resource requirements on a single node; Slurm excels at finite workloads with defined resource requirements and topology on multiple nodes. This project enables the best of both, unified on Kubernetes, via an operator that deploys and manages Slurm cluster components using custom controllers and CRDs. ## Features - **Controller**: The Slurm control-plane schedules workload onto worker nodes. HA can be enabled with a RWX PVC. Configuration changes are auto-detected and applied with zero downtime. - **NodeSets**: Homogeneous sets of Slurm workers. Supports StatefulSet (replica-based) and DaemonSet (one-per-node) scaling modes, scale-to-zero, HPA compatibility, and hostname-based resolution. - **LoginSets**: Homogeneous login nodes with SSSD user identity management, also supporting scale-to-zero. - **Hybrid Support**: CRDs designed for clusters with some components in Kubernetes and others not. - **Slurm Features**: Accounting, partitions, reservations, job dependencies, containers, MPI, priority, preemption, QoS, fairshare, and node health checks. ## Compatibility Supports Kubernetes 1.35+ and Slurm 25.11+ per release matrix. ## Quick Start Install cert-manager, the operator CRDs, the operator, and a Slurm cluster via Helm charts from OCI registries. ## Upgrades Follow semantic versioning. For 1.Y releases, upgrade CRDs then operator; Slurm charts can lag. For 0.Y releases, uninstall and reinstall due to potential breaking CRD changes. ## Documentation Docs in the repository and hosted at slinky.schedmd.com. ## Support Issues and PRs handled best-effort; official tracker at support.schedmd.com. ## License Apache License 2.0, Copyright SchedMD LLC.