Apache Spark™ K8s Operator is a subproject of Apache Spark and aims to extend K8s resource manager to manage Apache Spark applications via Operator Pattern. This release includes Apache Spark K8s Operator 1.0.0 (App Version) with Helm chart 1.8.0 (Chart Version).
Notable Features
- Support K8s v1.34, v1.35, and v1.36
- Support Apache Spark 4.0, 4.1, and 4.2 and drop Spark 3.5
- Upgrade Spark to 4.2.0 to support heterogeneous K8s executor management
- Promote native acceleration for Spark 4 on Kubernetes
- Support Java 26
- Improve Security features and document Security Model
- Audit transitive dependencies and licenses
- Add more examples like one-zone
Spark Connect ServerSparkApp and JWSFilter-enabled SparkCluster
Docker Image
docker pull apache/spark-kubernetes-operator:1.0.0
Install Helm Chart
$ helm repo add spark https://apache.github.io/spark-kubernetes-operator
$ helm repo update
$ helm install spark spark-kubernetes-operator/spark-kubernetes-operator
$ helm list
Full Changelog:
Resolved Issues
- [SPARK-56824] Bump version to 1.0.0-SNAPSHOT in
mainbranch - [SPARK-56848] Upgrade
Apache DataFusion Cometto 0.16.0 - [SPARK-56849] Use Spark 4.1.1 in
Apache DataFusion Cometexample - [SPARK-56850] Add Spark
4.2.0-preview5K8s integration tests - [SPARK-56851] Remove
v1alpha1version of SparkApp and SparkCluster CRDs - [SPARK-56852] Upgrade
Gradleto 9.5.1 - [SPARK-56855] Upgrade
kubernetes-clientto 7.6.0 and update CRDs for K8s 1.36 - [SPARK-56930] Upgrade
spotless-plugin-gradleto 8.5.1 - [SPARK-56985] Upgrade
Icebergexample to use Iceberg 1.11.0 - [SPARK-56986] Upgrade
java-operator-sdkto 5.3.4 - [SPARK-56987] Upgrade
JUnitto 6.1.0 - [SPARK-56988] Add
dev/spark_jira_utils.py - [SPARK-57006] Use Spark 4.1.2 in docs, examples, tests, and default values
- [SPARK-57012] Drop Spark 3.5 Support
- [SPARK-57015] Upgrade
slf4jto 2.0.18 - [SPARK-57016] Upgrade
spotbugs-gradle-pluginto 6.5.5 - [SPARK-57017] Upgrade
Nettyto 4.2.14.Final - [SPARK-57078] Upgrade
Dropwizardmetrics to 4.2.39 - [SPARK-57079] Add
*.pycand*.pyoto.gitignore - [SPARK-57107] Pin
apache/skywalking-eyestov0.8.0commit SHA - [SPARK-57114] Upgrade
spotless-plugin-gradleto 8.6.0 - [SPARK-57147] Add
AGENTS.mdand symlinkCLAUDE.mdto it - [SPARK-57153] Run CI in forked repositories and report build status to PRs
- [SPARK-57157] Harden fork CI status workflows against run/check-run race and pagination
- [SPARK-57272] Upgrade
Nettyto 4.2.15.Final - [SPARK-57280] Add
SECURITY.mdfor scan-agent discoverability - [SPARK-57350] Enable
spark.kubernetes.executor.useDriverPodIPby default - [SPARK-57391] Use Apache Spark 4.0.3 in examples
- [SPARK-57432] Upgrade
spotbugs-gradle-pluginto 6.5.6 - [SPARK-57433] Upgrade
spotbugs-toolto 4.10.2 - [SPARK-57450] Add JWSFilter-enabled Spark Cluster example
- [SPARK-57466] Support
s.k.o.dynamicConfig.sourceto use mounted-ConfigMap - [SPARK-57492] Use K8s Garbage Collection to delete executors only when restart is disabled
- [SPARK-57494] Add
Pod Security Admissionsection toSECURITY.md - [SPARK-57495] Default
driver/master/workercontainerallowPrivilegeEscalationto false if unset - [SPARK-57497] Fix NPE in AppInitStep restart backoff check when stateTransitionHistory is null
- [SPARK-57508] Upgrade
java-operator-sdkto 5.3.5 - [SPARK-57543] Make ConfigOption dynamic override opt-in and filter dynamic config refresh
- [SPARK-57612] Upgrade
Apache DataFusion Cometto 0.17.0 - [SPARK-57628] Upgrade
Gradleto 9.6.0 - [SPARK-57629] Upgrade
spotless-plugin-gradleto 8.7.0 - [SPARK-57630] Fix
publish_snapshot_chartGitHub Actions job - [SPARK-57706] Add one-zone
Spark Connect Serverexample - [SPARK-57757] Upgrade
Gradleto 9.6.1 - [SPARK-57788] Prevent Build CI cancellation between different commits in
mainbranch - [SPARK-57789] Update and bundle
LICENSE-binaryandlicenses-binaryto describe all bundled libraries - [SPARK-57794] Exclude 3rd party Maven metadata from shadow jar
- [SPARK-57796] Exclude
org.checkerframeworkdependency - [SPARK-57798] Exclude
net.sf.py4jdependency - [SPARK-57799] Exclude
net.razorvinedependency - [SPARK-57801] Upgrade
fabric8to 7.8.0 - [SPARK-57844] Exclude Hadoop YARN classes from shadow jar
- [SPARK-57845] Exclude
org.roaringbitmapdependency - [SPARK-57856] Authenticate
minikubeGitHub API requests to avoid CI rate limit failures - [SPARK-57857] Exclude
com.ningdependency - [SPARK-57859] Exclude
com.esotericsoftwaredependency - [SPARK-57868] Requeue after driver not found because of the stale cache
- [SPARK-57871] Exclude Hadoop MapReduce classes from shadow jar
- [SPARK-57874] Exclude Hadoop MapReduce resources from shadow jar
- [SPARK-57875] Exclude Hadoop
filecacheclasses from shadow jar - [SPARK-57886] Upgrade
spotless-plugin-gradleto 8.8.0 - [SPARK-57887] Upgrade
spotbugs-gradle-pluginto 6.5.8 - [SPARK-57888] Upgrade JUnit to 6.1.1
- [SPARK-57906] Upgrade
java-operator-sdkto 5.4.0 - [SPARK-57917] Fix workload RoleBinding name in operator namespace
- [SPARK-57918] Use
Files.createTempFileinstead ofFile.createTempFileto ensure owner-only temp file - [SPARK-57919] Add
gradle/verification-metadata.xmlfor dependency verification - [SPARK-57934] Support opt-in
NetworkPolicyfor operator pod in Helm chart - [SPARK-57940] Enable
readOnlyRootFilesystemfor operator container in Helm chart - [SPARK-57942] Replace wildcard RBAC verbs with explicit verb list in Helm chart
- [SPARK-57943] MetricsSystem should not expose sink property values
- [SPARK-57950] Support
spark.redaction.regexand redact sensitive values in operator logs - [SPARK-57968] Use virtual threads for
SentinelManagerscheduled executor - [SPARK-57969] Use virtual thread for periodic GC scheduler
- [SPARK-58039] Upgrade
Nettyto 4.2.16.Final - [SPARK-58090] Add
doc.crds.devlink to Spark custom resources documentation - [SPARK-58101] Remove misleading
spark.submit.deployMode=clusterfromspark-connect-server-with-spark-cluster.yaml - [SPARK-58140] Upgrade Spark to 4.2.0
- [SPARK-58142] Upgrade JUnit to 6.1.2
- [SPARK-58143] Upgrade
spotbugs-gradle-pluginto 6.5.9 - [SPARK-58144] Add
verification-metadata.xmlregeneration guide toAGENTS.mdand fixREADME.md - [SPARK-58145] Upgrade
Apache Celebornto 0.6.3 - [SPARK-58146] Upgrade
log4jto 2.26.1 - [SPARK-58147] Upgrade SpotBugs to 4.10.3
- [SPARK-58160] Add Gateway API HTTPRoute/GRPCRoute support for driver endpoints
- [SPARK-58194] Upgrade docker images to Apache Spark 4.2.0
- [SPARK-58197] Upgrade
Java Operator SDKto 5.5.0 - [SPARK-58284] Remove duplicated NetworkPolicy creation in favor of
NetworkPolicyFeatureStepof Spark 4.2 - [SPARK-58287] Add
dev/bump_maintenance_version.pyto bump maintenance version with dev postfix - [SPARK-58289] Add
dev/prepare_release.pyto automate release version preparation