spark-operator: Dataflow¶
Controller Watches¶
Kubernetes resources this controller monitors for changes. Each watch triggers reconciliation when the watched resource is created, updated, or deleted.
| Type | GVK | Source |
|---|---|---|
| For | api/v1alpha1/SparkConnect | internal/controller/sparkconnect/reconciler.go:97 |
Reconciliation Flow¶
How the controller interacts with the Kubernetes API during reconciliation.
sequenceDiagram
%% Static dataflow for spark-operator
participant KubernetesAPI as Kubernetes API
participant controller_manager as controller-manager
participant spark_operator_controller as spark-operator-controller
participant spark_operator_webhook as spark-operator-webhook
KubernetesAPI->>+controller_manager: Watch SparkConnect (reconcile)
Note over controller_manager: Exposed Services
Note right of controller_manager: spark-operator-webhook-svc:443/TCP [webhook]
Note over KubernetesAPI: Defined CRDs
Note right of KubernetesAPI: SparkConnect (sparkoperator.k8s.io/v1alpha1)
Note right of KubernetesAPI: ScheduledSparkApplication (sparkoperator.k8s.io/v1beta2)
Note right of KubernetesAPI: SparkApplication (sparkoperator.k8s.io/v1beta2)
Webhooks¶
| Name | Type | Path | Failure Policy | Service | Source |
|---|---|---|---|---|---|
| mutate-pod.sparkoperator.k8s.io | mutating | /mutate--v1-pod | Fail | system/webhook-service | config/webhook/manifests.yaml |
| mutate-pod.sparkoperator.k8s.io | mutating | /mutate--v1-pod | Fail | system/spark-operator-webhook-svc | config/webhook/mutatingwebhookconfiguration.yaml |
| mutate-scheduledsparkapplication.sparkoperator.k8s.io | validating | /validate-sparkoperator-k8s-io-v1beta2-sparkapplication | Fail | system/webhook-service | config/webhook/manifests.yaml |
| mutate-scheduledsparkapplication.sparkoperator.k8s.io | mutating | /mutate-sparkoperator-k8s-io-v1beta2-scheduledsparkapplication | Fail | system/spark-operator-webhook-svc | config/webhook/mutatingwebhookconfiguration.yaml |
| mutate-sparkapplication.sparkoperator.k8s.io | mutating | /mutate-sparkoperator-k8s-io-v1beta2-sparkapplication | Fail | system/webhook-service | config/webhook/manifests.yaml |
| mutate-sparkapplication.sparkoperator.k8s.io | mutating | /mutate-sparkoperator-k8s-io-v1beta2-sparkapplication | Fail | system/spark-operator-webhook-svc | config/webhook/mutatingwebhookconfiguration.yaml |
| validate-scheduledsparkapplication.sparkoperator.k8s.io | validating | /validate-sparkoperator-k8s-io-v1beta2-scheduledsparkapplication | Fail | system/webhook-service | config/webhook/manifests.yaml |
| validate-scheduledsparkapplication.sparkoperator.k8s.io | validating | /validate-sparkoperator-k8s-io-v1beta2-scheduledsparkapplication | Fail | system/spark-operator-webhook-svc | config/webhook/validatingwebhookconfiguration.yaml |
| validate-sparkapplication.sparkoperator.k8s.io | validating | /validate-sparkoperator-k8s-io-v1beta2-sparkapplication | Fail | system/webhook-service | config/webhook/manifests.yaml |
| validate-sparkapplication.sparkoperator.k8s.io | validating | /validate-sparkoperator-k8s-io-v1beta2-sparkapplication | Fail | system/spark-operator-webhook-svc | config/webhook/validatingwebhookconfiguration.yaml |
Configuration¶
ConfigMaps and Helm values that control this component's runtime behavior.
Helm¶
Chart: spark-operator v2.4.0