0.5.0
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 0.5.0 (App Version) with Helm chart 1.3.0 (Chart Version).
Notable Features
- Support K8s v1.32, v1.33, and v1.34
- Support Apache Spark 3.5, 4.0, 4.1.0-preview2
- Support
SparkAppandSparkClusterCRDssparkapplications.spark.apache.org(v1)sparkclusters.spark.apache.org(v1)
- Support
HPAforSparkCluster - Support
Artifact Hub - Provide various examples
Docker Image
docker pull apache/spark-kubernetes-operator:0.5.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
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
spark default 1 2025-06-04 11:06:24.61408 -0700 PDT deployed spark-kubernetes-operator-1.3.0 0.5.0
Full Changelog:
Resolved Issues
- SPARK-52604 Release Spark Kubernetes Operator 0.5.0 (v1)
- SPARK-52605 Bump version to 0.5.0-SNAPSHOT in
mainbranch - SPARK-52606 Promote Spark CRDs to
v1 - SPARK-52607 Add
pi-v1beta1.yamlexample - SPARK-52608 Make
README.mdup-to-date - SPARK-52623 Add
spark.ui.porttoSpark History Serverexample - SPARK-52624 Upgrade
spotbugs-toolto 4.9.3 andspotbugs-pluginto 6.1.13 - SPARK-52645 Enable
ExitOnOutOfMemoryErrorJVM option by default - SPARK-52647 Fix
jvmArgsto support multiple arguments - SPARK-52648 Add support for maximal retain duration for Spark application resources
- SPARK-52653 Fix
*.operatorContainerto*.operatorPod.operatorContainerinoperations.md - SPARK-52654 Use
ParallelGCby default - SPARK-52657 Allow
spark.app.id - SPARK-52661 Suppress pending pod log messages
- SPARK-52662 Add
SparkAppbenchmark - SPARK-52664 Add
branch-0.4topublish_snapshot_*.ymlGitHub Action jobs - SPARK-52667 Improve
SparkAppReconcilerto show app names during cleaning up - SPARK-52668 Set
(Initial|Max)RAMPercentageto 80% by default - SPARK-52676 Use Java 21 for SparkApp benchmark
- SPARK-52679 Revise
appender.console.layout.patternto include MDC keys and thread name - SPARK-52702 Add test for comparing generated CRD yaml with the version in Helm charts
- SPARK-52754 Fix repeated status update retries if no error
- SPARK-52755 Remove ConfigMap informer from config reconciler
- SPARK-52773 Upgrade
Gradleto 8.14.3 - SPARK-52774 Fix resource retain policy typo in docs
- SPARK-52827 Add
pi-with-template.yamlexample - SPARK-52831 Revise the default logging layout to include only name & namespace MDC Keys
- SPARK-52834 Improve
ProbeServiceto show the port number - SPARK-52835 Fix the default value of
operatorContainermemory to 2Gi from 4Gi - SPARK-52836 Fix
sparkapp.shto let Spark driver determine pod memory - SPARK-52915 Support TTL for Spark apps
- SPARK-52997 Fixes wrong worker assignment if multiple clusters are deployed to the same namespace
- SPARK-53026 Fix deserialize error for spec with DriverServiceIngressSpec field
- SPARK-53027 Spark Operator service account should be able to create ingress
- SPARK-53159 Declare metrics port for operator in helm chart
- SPARK-53186 Fix probe port override from helm chart
- SPARK-53187 Support SparkCluster event related metrics set
- SPARK-53245 Update Java Operator SDK version to 5.1.2
- SPARK-53325 Support Prometheus 2.0 text-based-format and best practices for metrics naming
- SPARK-53405 Add metrics recording for latency of Spark app state transition
- SPARK-53407 Use
baseDirectoryinstead ofbaseDir - SPARK-53409 Upgrade
Gradleto 9.0.0 - SPARK-53410 Improve
merge_spark_pr.pyto accept PR numbers as a CLI argument - SPARK-53411 Upgrade the minimum K8s version to v1.32
- SPARK-53430 Prevent unintended JSON serialization with @JsonIgnore
- SPARK-53462 Upgrade
actions/checkoutto v5 - SPARK-53468 Update
setup-minikubeto v0.0.20 - SPARK-53493 Add
pi-preview.yamlexample - SPARK-53495 Remove unused 'persistentVolume' access from operator rbac
- SPARK-53508 Upgrade Spark to 4.0.1
- SPARK-53510 Update
SparkClusterResourceSpecto useapache/spark:4.0.1as the default value of container image - SPARK-53511 Make
examplesdirectory up-to-date with Spark 4.0.1 - SPARK-53513 Update
YuniKorndocs with1.7.0 - SPARK-53542 Update CI to test K8s 1.34
- SPARK-53545 Enforce style check at project level for operator
- SPARK-53588 Upgrade
kubernetes-clientto 7.4.0 - SPARK-53607 Support Java 25
- SPARK-53613 Upgrade
google-java-formatto 1.28.0 to support Java 25 - SPARK-53617 Use
zuluJava distribution in GitHub Action jobs - SPARK-53624 Use
bitnamisecure/kubectl:latestfor Helm Chart testing - SPARK-53627 Update docs to recommend K8s 1.32+
- SPARK-53628 Upgrade
pmdandspotbugsand enable checking on Java 25 - SPARK-53639 Use
sparkconsistently forrelease-nameof Helm installation - SPARK-53642 Improve Javadoc for interfaces, class, methods, variables
- SPARK-53644 Upgrade
Gradleto 9.1.0 - SPARK-53646 Improve
KubernetesMetricsInterceptorTestto verifyhttp.requestmetric - SPARK-53647 Use
io.fabric8.kubernetes.client.http.Interceptorinstead ofokhttp3.Interceptor - SPARK-53648 Use
VertxHttpClientFactoryinstead ofOkHttpClientFactory - SPARK-53649 Remove
logging-interceptordependency - SPARK-53650 Make
build.gradleandlibs.versions.tomlup-to-date withokhttp3usage - SPARK-53663 Add
spark-history-server-preview.yaml - SPARK-53664 Update
updateResponseMetricsto handle valid responses only - SPARK-53669 Publish SBOM artifacts
- SPARK-53670 Use
Gradle Java Toolchain - SPARK-53679 Fix typos in Spark Kubernetes Operator documentation
- SPARK-53701 Use Java 25 toolchain while supporting Java 17+
- SPARK-53702 Update
teststo use4.0.1and3.5.7 - SPARK-53703 Improve unit tests to be neutral from Spark versions
- SPARK-53704 Rename
pyspark-pi.yamltopi-python.yaml - SPARK-53706 App reconcile steps should properly handle exceptions in status update
- SPARK-53710 Upgrade
junitto 5.13.4 - SPARK-53711 Upgrade
operator-sdkto 5.1.3 - SPARK-53712 Fix
spark-operatorto useJUnit 5instead ofJUnit 4 - SPARK-53713 Remove
org.jetbrains.annotationstest code dependency fromspark-operator - SPARK-53714 Remove
okhttp3dependency - SPARK-53721 Fix
HelmCharttemplate to use Spark-version agnosticSentinelResource - SPARK-53722 Document
workloadResources.sparkApplicationSentinel.name - SPARK-53723 Support
SparkClusterSentinel Resource - SPARK-53727 Update GitHub Action YAML file in
branch-0.5