Overview of Kubeflow Spark Operator
masterThe Kubeflow Spark Operator is a Kubernetes Operator for Apache Spark that allows you to run Spark applications as declarative Kubernetes workloads. Instead of manually running spark-submit, you define your job in a YAML SparkApplication custom resource and apply it using kubectl.
Key capabilities include:
- Declarative Applications: Manage Spark jobs via the Kubernetes API using the
SparkApplicationresource. - Native Cron Scheduling: Schedule jobs using
ScheduledSparkApplicationwith configurable concurrency policies and history limits. - Pod Customization: Use a mutating admission webhook to mount ConfigMaps/volumes and set affinity or tolerations for driver and executor pods.
- Metrics & Monitoring: Export application and pod-level metrics to Prometheus, with optional JMX exporter support.
- Batch Scheduling: Integration with Volcano, Apache YuniKorn, and Kubernetes scheduler plugins for gang scheduling.
- Production Readiness: Automatic application restarts, retries with backoff, and resubmission of updated specs.