Hi everyone,
We’re excited to announce JobSet v0.13.0! This release introduces
alpha scheduling and lifecycle capabilities, improves networking and
deployment reliability, and expands our documentation for distributed
training workloads.
Release highlights:
• Workload-Aware Scheduling (alpha): The new spec.scheduling API
supports Basic and Gang scheduling across a JobSet, groups of
ReplicatedJobs, or individual Job replicas, with topology constraints,
disruption policies, and shared DRA resource claims. This integration
requires the
Kubernetes WAS APIs and corresponding cluster feature gates.
• JobSet active deadlines (alpha): Use spec.activeDeadlineSeconds to
limit execution time. When the deadline is exceeded, JobSet deletes
active child Jobs and marks the JobSet failed with DeadlineExceeded.
Suspended time does not count toward the deadline.
• Execution-attempt tracking (alpha): A new status.executionAttempts
counter tracks initial execution, failure-policy restarts, and
suspend/resume cycles. The current attempt is also propagated to child
Jobs and Pod templates through an annotation.
• Networking and lifecycle improvements: Headless Service ports are
now populated from container ports and kept in sync, enabling
service-mesh routing. TTL cleanup now also applies to externally
managed JobSets once their controller records a terminal condition.
• TLS configuration graduates to GA: TLS minimum-version and
cipher-suite configuration is permanently enabled; the TLSOptions
feature gate can no longer be disabled.
Reliability and deployment improvements:
This release fixes reconciliation panics, exclusive-placement
recovery issues, follower admission deadlocks after leader failures,
and admission failures for Pods using negative PriorityClass values.
Helm users can now configure controller feature gates through
controller.featureGates. Additional fixes address Helm v4 certificate
Secret ownership conflicts and improve webhook certificate bootstrap
and controller startup reliability.
Getting started:
The new alpha features are disabled by default and can be enabled
independently using these feature gates:
• JobSetWorkloadAwareSchedulingAPI
• JobSetActiveDeadlineSeconds
• ExecutionAttemptsTracking
Updated documentation includes declarative scheduling examples, DRA
integration guidance, and a TPU multi-slice training guide using Kueue
and JAX.
Release:
https://github.com/kubernetes-sigs/jobset/releases/tag/v0.13.0
Full changelog:
https://github.com/kubernetes-sigs/jobset/blob/release-0.13/CHANGELOG/CHANGELOG-0.13.md
Documentation:
https://jobset.sigs.k8s.io/
Thank you to all the contributors, reviewers, and users who helped
make this release possible! We welcome your feedback and bug reports
on GitHub.
Best,
The JobSet maintainers