Chapter 1. Overview of the Kubeflow Spark Operator (KSO)


The Kubeflow Spark Operator allows you to run Spark data processing applications in a distributed environment on Red Hat OpenShift AI. You can create custom resources (CRs) for specifying, running and surfacing Spark applications.

KSO for Apache Spark currently supports the following:

  • Spark versions 4.0.1 and above.
  • When a SparkApplication custom resource is created, the operator creates and runs a spark-submit job that starts Spark driver and executor pods.
  • Native Cron support for running scheduled applications.
  • Customization of Spark pods, including: mounting ConfigMaps/volumes and setting pod affinity.
  • Automatic application restart with custom policies.
  • Collecting and exporting application metrics and driver metrics to Prometheus.

1.1. Kubeflow Spark Operator (KSO) architecture

The Spark operator consists of the following:

  • SparkApplication Controller: A job that watches Create, Update and Delete events in SparkApplication resources.
  • Submission Runner: When a SparkApplication custom resource is created, the operator creates and runs a spark-submit job that starts Spark driver and executor pods.
  • Spark Pod Monitor: Observes the Driver and Executor pods and updates the .status field of the SparkApplication CR.
  • Mutating Admission Webhook: A component that intercepts pod creation requests and injects ConfigMap mounts or Volumes into the Driver and Executor pods before they are scheduled.
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top