@@ -20,13 +20,15 @@ spec:
2020 mainApplicationFile: "local:///stackable/spark/examples/jars/spark-examples.jar"
2121 sparkConf:
2222 spark.kubernetes.submission.waitAppCompletion: "false"
23- spark.kubernetes.driver.pod.name: "resources-sparkconf-driver"
23+ # NOTE: Setting the driver pod name is not possible anymore starting with v1alpha2
24+ # spark.kubernetes.driver.pod.name: "resources-sparkconf-driver"
2425 spark.kubernetes.executor.podNamePrefix: "resources-sparkconf"
25- spark.kubernetes.driver.request.cores: "1"
26- spark.kubernetes.driver.limit.cores: "1"
27- spark.driver.cores: "1"
28- spark.driver.memory: "1g"
29- spark.driver.memoryOverheadFactor: "0.4"
26+ # NOTE: Driver pod resources are NOT set via sparkConf. The operator runs the driver as a
27+ # Kubernetes Job with spark-submit in client mode, so Spark never creates the driver pod and
28+ # the spark.kubernetes.driver.{request,limit}.cores / spark.driver.memory properties are
29+ # inert. The driver pod's resources come solely from spec.driver.config.resources below.
30+ # Executor resources, on the other hand, ARE driven by sparkConf because the driver still
31+ # asks Spark to create the executor pods.
3032 spark.kubernetes.executor.request.cores: "1"
3133 spark.kubernetes.executor.limit.cores: "2"
3234 spark.executor.cores: "2"
3537 spark.executor.instances: "1"
3638 driver:
3739 config:
40+ # Values intentionally differ from the operator defaults (250m/1, 1Gi) to prove that
41+ # user-provided role config takes priority. min -> request, max -> limit.
42+ resources:
43+ cpu:
44+ min: "500m"
45+ max: "2"
46+ memory:
47+ limit: "2Gi"
3848 logging:
3949 enableVectorAgent: {{ lookup('env', 'VECTOR_AGGREGATOR') | length > 0 }}
4050 executor:
0 commit comments