Spark values#
Values under spark configure the Spark operator, the Spark history server and the remote shuffle service.
Generated from the Hopsworks Helm chart 5.1.0 (Hopsworks 5.1.0).
Deployed when global._hopsworks.full_platform is true.
Upstream charts
- Values under
spark.spark-operatorgo tospark-operator2.5.1 fromhttps://kubeflow.github.io/spark-operator/.
Only the values Hopsworks sets under spark.spark-operator are listed on this page. Any other value of the chart can be set there too; the link opens its documentation for the version Hopsworks pins.
General#
Defaults as YAML
spark:
cleanupOnUninstall:
enabled: true
ttlSecondsAfterFinished: null
historyServer:
certsDir: /srv/hops/super_crypto/spark
cleaner:
enabled: true
interval: 1d
maxAge: 7d
deploymentName: spark-history-server-deployment
hadoopHome: /srv/hops/hadoop
image:
pullPolicy: Always
repository: sparkhistoryserver
tag: 4.1.3.0
name: spark-history-server
nodeSelector: {}
probes:
liveness:
failureThreshold: 10
httpGet:
path: /
port: http
scheme: HTTPS
initialDelaySeconds: 8
periodSeconds: 5
timeoutSeconds: 10
readiness:
failureThreshold: 10
httpGet:
path: /
port: http
scheme: HTTPS
initialDelaySeconds: 8
periodSeconds: 5
timeoutSeconds: 10
replicaCount: 1
resources:
limits:
cpu: 2000m
memory: 3Gi
requests:
cpu: 500m
memory: 1Gi
service:
annotations:
consul.hashicorp.com/service-name: sparkhistoryserver
externalPort: 80
internalPort: 18080
name: sparkhistoryserver
type: ClusterIP
sparkHome: /srv/hops/spark
tolerations: []
topologySpreadConstraint: {}
hopsworkslib: {}
sparkJobDebugLevel: INFO
sql:
ansiEnabled: false
spark#- Type
object, default{}. override sparkt values spark.cleanupOnUninstall#- Type
object, default{"enabled":true,"ttlSecondsAfterFinished":null}. post-delete cleanup of Spark/RSS leftovers: the spark-operator and rss-webhook TLS Secrets (generated at runtime by the operators, not Helm-tracked), and the rss shuffle-server data PVCs. PVCs are only deleted when global._hopsworks.wipeDataOnUninstall is enabled and never for PVCs labelled hopsworks.ai/keep=true. spark.cleanupOnUninstall.enabled#- Type
bool, defaulttrue. enable the post-delete Spark/RSS cleanup hook spark.cleanupOnUninstall.ttlSecondsAfterFinished#- Type
string, defaultnil. ttlSecondsAfterFinished for the cleanup Job; null falls through to the global default spark.historyServer#-
Type
object. The configuration for the Spark history serverDefault
certsDir: /srv/hops/super_crypto/spark cleaner: enabled: true interval: 1d maxAge: 7d deploymentName: spark-history-server-deployment hadoopHome: /srv/hops/hadoop image: pullPolicy: Always repository: sparkhistoryserver tag: 4.1.3.0 name: spark-history-server nodeSelector: {} probes: liveness: failureThreshold: 10 httpGet: path: / port: http scheme: HTTPS initialDelaySeconds: 8 periodSeconds: 5 timeoutSeconds: 10 readiness: failureThreshold: 10 httpGet: path: / port: http scheme: HTTPS initialDelaySeconds: 8 periodSeconds: 5 timeoutSeconds: 10 replicaCount: 1 resources: limits: cpu: 2000m memory: 3Gi requests: cpu: 500m memory: 1Gi service: annotations: consul.hashicorp.com/service-name: sparkhistoryserver externalPort: 80 internalPort: 18080 name: sparkhistoryserver type: ClusterIP sparkHome: /srv/hops/spark tolerations: [] topologySpreadConstraint: {} spark.historyServer.nodeSelector#- Type
object, default{}. node selector configuration spark.historyServer.topologySpreadConstraint#- Type
object, default{}. The default topology spread constraint. If not defined the global topology spread constraint would be used instead. spark.hopsworkslib#- Type
object, default{}. override hopsworkslib values spark.sparkJobDebugLevel#- Type
string, default"INFO". spark.sql#- Type
object, default{"ansiEnabled":false}. Spark SQL defaults applied cluster-wide throughspark-defaults.conf. spark.sql.ansiEnabled#- Type
bool, defaultfalse. Whether to enable ANSI SQL mode (spark.sql.ansi.enabled). Spark 4 changed the upstream default totrue, which turns arithmetic overflow and invalid casts into runtime errors instead of returningnull. Hopsworks pins it tofalseso SQL that ran on Spark 3.x keeps the same semantics after the upgrade. Set totrueto opt in to standards-compliant behavior cluster-wide; individual jobs can still overridespark.sql.ansi.enabledthemselves.
dependencies#
Defaults as YAML
spark.dependencies.hive.consulServiceName#- Type
string, default"hive". spark.dependencies.hive.consulServiceTag#- Type
string, default"metastore". spark.dependencies.hive.port#- Type
int, default9083. spark.dependencies.namenode.consulServiceName#- Type
string, default"namenode". spark.dependencies.namenode.consulServiceTag#- Type
string, default"rpc". spark.dependencies.namenode.port#- Type
int, default8020. spark.dependencies.prometheusPushgateway.consulServiceName#- Type
string, default"prometheus". spark.dependencies.prometheusPushgateway.consulServiceTag#- Type
string, default"pushgateway". spark.dependencies.prometheusPushgateway.port#- Type
int, default9091. spark.dependencies.prometheusPushgateway.protocol#- Type
string, default"http".
rss#
Defaults as YAML
spark:
rss:
appName: rss-hops
configDir: /data/rssadmin/rss/conf
configmap:
name: rss-configuration
controller:
containerPort: 9876
image: rss-controller
replicas: 1
resources:
limits:
cpu: '1'
memory: 512Mi
requests:
cpu: 100m
memory: 150Mi
serviceAccount:
annotations: {}
coordinator:
count: 2
dynamicClientConfigMapName: rss-dynamic-client-configuration
dynamicClientConfigMountPath: /tmp
httpPort: 19996
labels:
role: rss-hops-coordinator
replicas: 1
resources:
limits:
cpu: 500m
memory: 2Gi
requests:
cpu: 500m
rpcPort: 19997
xmxSizeMemoryExtraPercentage: 30
dashboard:
enabled: false
httpPort: 19997
name: uniffle-dashboard
resources:
limits:
cpu: 500m
memory: 2Gi
requests:
cpu: 250m
xmxSizeMemoryExtraPercentage: 30
dynamicClient:
readBufferSize: 14m
storageType: MEMORY_LOCALFILE
fullnameOverride: null
image:
image: rss
initImage: hops-rss-init
initImageVersion: 0.9.2
pullPolicy: Always
namespaceSelector: ''
nodeSelector: {}
resources:
jobs:
limits:
cpu: 200m
rss:
limits:
cpu: 500m
memory: 1Gi
serviceAccount:
annotations: {}
shuffleServer:
bufferCapacity: -1
bufferCapacityRatio: 0.6
diskCapacity: -1
diskCapacityRatio: 0.8
httpPort: 19998
nettyPort: 20000
readBufferCapacity: -1
readBufferCapacityRatio: 0.1
replicas: 3
resources:
limits:
cpu: 2000m
memory: 3Gi
requests:
cpu: 200m
rpcPort: 19999
upgradeStrategy: FullUpgrade
storage:
size: 10Gi
storageClassName: null
volumeNameTemplate: rss-storage
tolerations: []
topologySpreadConstraint: {}
ttlSecondsAfterFinished: null
version: 0.11.1
webhook:
app: rss-webhook
resources:
limits:
cpu: '1'
memory: 512Mi
requests:
cpu: 100m
memory: 150Mi
service:
name: rss-webhook
port: 443
targetPort: 9876
webhookName: rss-webhook
spark.rss#-
Type
object. The configuration for the uniffle remote shuffle serviceDefault
appName: rss-hops configDir: /data/rssadmin/rss/conf configmap: name: rss-configuration controller: containerPort: 9876 image: rss-controller replicas: 1 resources: limits: cpu: '1' memory: 512Mi requests: cpu: 100m memory: 150Mi serviceAccount: annotations: {} coordinator: count: 2 dynamicClientConfigMapName: rss-dynamic-client-configuration dynamicClientConfigMountPath: /tmp httpPort: 19996 labels: role: rss-hops-coordinator replicas: 1 resources: limits: cpu: 500m memory: 2Gi requests: cpu: 500m rpcPort: 19997 xmxSizeMemoryExtraPercentage: 30 dashboard: enabled: false httpPort: 19997 name: uniffle-dashboard resources: limits: cpu: 500m memory: 2Gi requests: cpu: 250m xmxSizeMemoryExtraPercentage: 30 dynamicClient: readBufferSize: 14m storageType: MEMORY_LOCALFILE fullnameOverride: null image: image: rss initImage: hops-rss-init initImageVersion: 0.9.2 pullPolicy: Always namespaceSelector: '' nodeSelector: {} resources: jobs: limits: cpu: 200m rss: limits: cpu: 500m memory: 1Gi serviceAccount: annotations: {} shuffleServer: bufferCapacity: -1 bufferCapacityRatio: 0.6 diskCapacity: -1 diskCapacityRatio: 0.8 httpPort: 19998 nettyPort: 20000 readBufferCapacity: -1 readBufferCapacityRatio: 0.1 replicas: 3 resources: limits: cpu: 2000m memory: 3Gi requests: cpu: 200m rpcPort: 19999 upgradeStrategy: FullUpgrade storage: size: 10Gi storageClassName: null volumeNameTemplate: rss-storage tolerations: [] topologySpreadConstraint: {} ttlSecondsAfterFinished: null version: 0.11.1 webhook: app: rss-webhook resources: limits: cpu: '1' memory: 512Mi requests: cpu: 100m memory: 150Mi service: name: rss-webhook port: 443 targetPort: 9876 webhookName: rss-webhook spark.rss.controller.serviceAccount.annotations#- Type
object, default{}. service account annotations spark.rss.coordinator.resources.requests#- Type
object, default{"cpu":"500m"}. memory is set to be equal to the limit spark.rss.dashboard.resources.requests#- Type
object, default{"cpu":"250m"}. memory is set to be equal to the limit spark.rss.fullnameOverride#- Type
string, defaultnil. fullnameOverride spark.rss.namespaceSelector#- Type
string, default"". Label selector (key=value or key1=value1,key2=value2) for namespaces this instance should manage. Only events from matching namespaces will be processed by the controller and webhook. If empty, all namespaces are managed. spark.rss.nodeSelector#- Type
object, default{}. node selector configuration spark.rss.resources.jobs#- Type
object, default{"limits":{"cpu":"200m"}}. jobs resources spark.rss.resources.rss#- Type
object, default{"limits":{"cpu":"500m","memory":"1Gi"}}. rss resources spark.rss.serviceAccount.annotations#- Type
object, default{}. service account annotations spark.rss.shuffleServer.resources.requests#- Type
object, default{"cpu":"200m"}. memory is set to be equal to the limit spark.rss.storage.storageClassName#- Type
string, defaultnil. storage class name to request for volumes attached to rss spark.rss.topologySpreadConstraint#- Type
object, default{}. The default topology spread constraint. If not defined the global topology spread constraint would be used instead. spark.rss.ttlSecondsAfterFinished#- Type
string, defaultnil. TTL in seconds for the rss-config Job. Overrides global default. spark.rss.webhookName#- Type
string, default"rss-webhook". Name of the MutatingWebhookConfiguration and ValidatingWebhookConfiguration. Override when running multiple instances on the same cluster to avoid name collisions.
spark-operator#
Defaults as YAML
spark:
spark-operator:
certManager:
duration: ''
enable: false
issuerRef: {}
renewBefore: ''
commonLabels: {}
controller:
affinity: {}
annotations: {}
batchScheduler:
default: ''
enable: false
kubeSchedulerNames: []
driverPodCreationGracePeriod: 10s
env: []
envFrom: []
labels: {}
leaderElection:
enable: true
logLevel: info
maxTrackedExecutorPerApp: 1000
nodeSelector: {}
podDisruptionBudget:
enable: false
minAvailable: 1
podSecurityContext:
fsGroup: 185
pprof:
enable: false
port: 6060
portName: pprof
priorityClassName: ''
rbac:
annotations: {}
create: true
replicas: 1
resources:
requests:
cpu: 300m
memory: 512Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccount:
annotations: {}
automountServiceAccountToken: true
create: true
name: ''
sidecars: []
tolerations: []
topologySpreadConstraints: []
uiIngress:
annotations: {}
enable: false
ingressClassName: ''
tls: []
urlFormat: ''
uiService:
enable: true
volumeMounts:
- mountPath: /tmp
name: tmp
readOnly: false
volumes:
- emptyDir:
sizeLimit: 1Gi
name: tmp
workers: 10
workqueueRateLimiter:
bucketQPS: 50
bucketSize: 500
maxDelay:
duration: 6h
enable: true
fullnameOverride: ''
hook:
affinity: {}
image:
registry: docker.hops.works
repository: hopsworks/spark-operator-crds
tag: 2.5.1-h1-1.9
nodeSelector: {}
tolerations: []
upgradeCrd: true
image:
pullPolicy: IfNotPresent
pullSecrets: []
registry: docker.hops.works
repository: hopsworks/spark-operator
tag: 2.5.1-h1
nameOverride: ''
podSecurityContext:
fsGroup: 185
runAsGroup: 185
runAsNonRoot: true
runAsUser: 185
seccompProfile:
type: RuntimeDefault
prometheus:
metrics:
enable: true
endpoint: /metrics
jobStartLatencyBuckets: 30,60,90,120,150,180,210,240,270,300
port: 8080
portName: metrics
prefix: ''
podMonitor:
create: false
jobLabel: spark-operator-podmonitor
labels: {}
podMetricsEndpoint:
interval: 5s
scheme: http
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
runAsGroup: 185
runAsNonRoot: true
runAsUser: 185
seccompProfile:
type: RuntimeDefault
spark:
jobNamespaces: []
rbac:
annotations: {}
create: true
serviceAccount:
annotations: {}
automountServiceAccountToken: true
create: true
name: ''
webhook:
affinity: {}
annotations: {}
enable: true
env: []
envFrom: []
failurePolicy: Fail
labels: {}
leaderElection:
enable: true
logLevel: info
nodeSelector: {}
podDisruptionBudget:
enable: false
minAvailable: 1
podSecurityContext:
fsGroup: 185
port: 9443
portName: webhook
priorityClassName: ''
rbac:
annotations: {}
create: true
replicas: 1
resourceQuotaEnforcement:
enable: false
resources:
requests:
cpu: 300m
memory: 512Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccount:
annotations: {}
automountServiceAccountToken: true
create: true
name: ''
sidecars: []
timeoutSeconds: 10
tolerations: []
topologySpreadConstraints: []
volumeMounts:
- mountPath: /etc/k8s-webhook-server/serving-certs
name: serving-certs
readOnly: false
subPath: serving-certs
- mountPath: /tmp
name: tmp
volumes:
- emptyDir:
sizeLimit: 500Mi
name: serving-certs
- emptyDir: {}
name: tmp
spark.spark-operator#-
Type
object, passed to thespark-operator2.5.1 chart, whose other values are documented there. override spark operator valuesDefault
certManager: duration: '' enable: false issuerRef: {} renewBefore: '' commonLabels: {} controller: affinity: {} annotations: {} batchScheduler: default: '' enable: false kubeSchedulerNames: [] driverPodCreationGracePeriod: 10s env: [] envFrom: [] labels: {} leaderElection: enable: true logLevel: info maxTrackedExecutorPerApp: 1000 nodeSelector: {} podDisruptionBudget: enable: false minAvailable: 1 podSecurityContext: fsGroup: 185 pprof: enable: false port: 6060 portName: pprof priorityClassName: '' rbac: annotations: {} create: true replicas: 1 resources: requests: cpu: 300m memory: 512Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: annotations: {} automountServiceAccountToken: true create: true name: '' sidecars: [] tolerations: [] topologySpreadConstraints: [] uiIngress: annotations: {} enable: false ingressClassName: '' tls: [] urlFormat: '' uiService: enable: true volumeMounts: - mountPath: /tmp name: tmp readOnly: false volumes: - emptyDir: sizeLimit: 1Gi name: tmp workers: 10 workqueueRateLimiter: bucketQPS: 50 bucketSize: 500 maxDelay: duration: 6h enable: true fullnameOverride: '' hook: affinity: {} image: registry: docker.hops.works repository: hopsworks/spark-operator-crds tag: 2.5.1-h1-1.9 nodeSelector: {} tolerations: [] upgradeCrd: true image: pullPolicy: IfNotPresent pullSecrets: [] registry: docker.hops.works repository: hopsworks/spark-operator tag: 2.5.1-h1 nameOverride: '' podSecurityContext: fsGroup: 185 runAsGroup: 185 runAsNonRoot: true runAsUser: 185 seccompProfile: type: RuntimeDefault prometheus: metrics: enable: true endpoint: /metrics jobStartLatencyBuckets: 30,60,90,120,150,180,210,240,270,300 port: 8080 portName: metrics prefix: '' podMonitor: create: false jobLabel: spark-operator-podmonitor labels: {} podMetricsEndpoint: interval: 5s scheme: http securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsGroup: 185 runAsNonRoot: true runAsUser: 185 seccompProfile: type: RuntimeDefault spark: jobNamespaces: [] rbac: annotations: {} create: true serviceAccount: annotations: {} automountServiceAccountToken: true create: true name: '' webhook: affinity: {} annotations: {} enable: true env: [] envFrom: [] failurePolicy: Fail labels: {} leaderElection: enable: true logLevel: info nodeSelector: {} podDisruptionBudget: enable: false minAvailable: 1 podSecurityContext: fsGroup: 185 port: 9443 portName: webhook priorityClassName: '' rbac: annotations: {} create: true replicas: 1 resourceQuotaEnforcement: enable: false resources: requests: cpu: 300m memory: 512Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: annotations: {} automountServiceAccountToken: true create: true name: '' sidecars: [] timeoutSeconds: 10 tolerations: [] topologySpreadConstraints: [] volumeMounts: - mountPath: /etc/k8s-webhook-server/serving-certs name: serving-certs readOnly: false subPath: serving-certs - mountPath: /tmp name: tmp volumes: - emptyDir: sizeLimit: 500Mi name: serving-certs - emptyDir: {} name: tmp spark.spark-operator.certManager.duration#- Type
string, default2160h(90 days) will be used if not specified.. The duration of the certificate validity (e.g.2160h). See cert-manager.io/v1.Certificate. spark.spark-operator.certManager.enable#- Type
bool, defaultfalse. Specifies whether to use cert-manager to generate certificate for webhook.webhook.enablemust be set totrueto enable cert-manager. spark.spark-operator.certManager.issuerRef#- Type
object, default A self-signed issuer will be created and used if not specified.. The reference to the issuer. spark.spark-operator.certManager.renewBefore#- Type
string, default 1/3 of issued certificate’s lifetime.. The duration before the certificate expiration to renew the certificate (e.g.720h). See cert-manager.io/v1.Certificate. spark.spark-operator.commonLabels#- Type
object, default{}. Common labels to add to the resources. spark.spark-operator.controller.affinity#- Type
object, default{}. Affinity for controller pods. spark.spark-operator.controller.annotations#- Type
object, default{}. Extra annotations for controller pods. spark.spark-operator.controller.batchScheduler.default#- Type
string, default"". Default batch scheduler to be used if not specified by the user. If specified, this value must be either "volcano" or "yunikorn". Specifying any other value will cause the controller to error on startup. spark.spark-operator.controller.batchScheduler.enable#- Type
bool, defaultfalse. Specifies whether to enable batch scheduler for spark jobs scheduling. If enabled, users can specify batch scheduler name in spark application. spark.spark-operator.controller.batchScheduler.kubeSchedulerNames#- Type
list, default[]. Specifies a list of kube-scheduler names for scheduling Spark pods. spark.spark-operator.controller.driverPodCreationGracePeriod#- Type
string, default"10s". Grace period after a successful spark-submit when driver pod not found errors will be retried. Useful if the driver pod can take some time to be created. spark.spark-operator.controller.env#- Type
list, default[]. Environment variables for controller containers. spark.spark-operator.controller.envFrom#- Type
list, default[]. Environment variable sources for controller containers. spark.spark-operator.controller.labels#- Type
object, default{}. Extra labels for controller pods. spark.spark-operator.controller.leaderElection.enable#- Type
bool, defaulttrue. Specifies whether to enable leader election for controller. spark.spark-operator.controller.logLevel#- Type
string, default"info". Configure the verbosity of logging, can be one ofdebug,info,error. spark.spark-operator.controller.maxTrackedExecutorPerApp#- Type
int, default1000. Specifies the maximum number of Executor pods that can be tracked by the controller per SparkApplication. spark.spark-operator.controller.nodeSelector#- Type
object, default{}. Node selector for controller pods. spark.spark-operator.controller.podDisruptionBudget.enable#- Type
bool, defaultfalse. Specifies whether to create pod disruption budget for controller. Ref: Specifying a Disruption Budget for your Application spark.spark-operator.controller.podDisruptionBudget.minAvailable#- Type
int, default1. The number of pods that must be available. Requirecontroller.replicasto be greater than 1 spark.spark-operator.controller.podSecurityContext#- Type
object, default{"fsGroup":185}. Security context for controller pods. spark.spark-operator.controller.pprof.enable#- Type
bool, defaultfalse. Specifies whether to enable pprof. spark.spark-operator.controller.pprof.port#- Type
int, default6060. Specifies pprof port. spark.spark-operator.controller.pprof.portName#- Type
string, default"pprof". Specifies pprof service port name. spark.spark-operator.controller.priorityClassName#- Type
string, default"". Priority class for controller pods. spark.spark-operator.controller.rbac.annotations#- Type
object, default{}. Extra annotations for the controller RBAC resources. spark.spark-operator.controller.rbac.create#- Type
bool, defaulttrue. Specifies whether to create RBAC resources for the controller. spark.spark-operator.controller.replicas#- Type
int, default1. Number of replicas of controller. spark.spark-operator.controller.resources#- Type
object, default{"requests":{"cpu":"300m","memory":"512Mi"}}. Pod resource requests and limits for controller containers. Note, that each job submission will spawn a JVM within the controller pods using "/usr/local/openjdk-11/bin/java -Xmx128m". Kubernetes may kill these Java processes at will to enforce resource limits. When that happens, you will see the following error: 'failed to run spark-submit for SparkApplication [...]: signal: killed' - when this happens, you may want to increase memory limits. spark.spark-operator.controller.securityContext#-
Type
object. Security context for controller containers. spark.spark-operator.controller.serviceAccount.annotations#- Type
object, default{}. Extra annotations for the controller service account. spark.spark-operator.controller.serviceAccount.automountServiceAccountToken#- Type
bool, defaulttrue. Auto-mount service account token to the controller pods. spark.spark-operator.controller.serviceAccount.create#- Type
bool, defaulttrue. Specifies whether to create a service account for the controller. spark.spark-operator.controller.serviceAccount.name#- Type
string, default"". Optional name for the controller service account. spark.spark-operator.controller.sidecars#- Type
list, default[]. Sidecar containers for controller pods. spark.spark-operator.controller.tolerations#- Type
list, default[]. List of node taints to tolerate for controller pods. spark.spark-operator.controller.topologySpreadConstraints#- Type
list, default[]. Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: Pod Topology Spread Constraints. The labelSelector field in topology spread constraint will be set to the selector labels for controller pods if not specified. spark.spark-operator.controller.uiIngress.annotations#- Type
object, default{}. Optionally set default ingress annotations for the Spark UI's ingress.ingressAnnotationsin the SparkApplication spec overrides this. spark.spark-operator.controller.uiIngress.enable#- Type
bool, defaultfalse. Specifies whether to create ingress for Spark web UI.controller.uiService.enablemust betrueto enable ingress. spark.spark-operator.controller.uiIngress.ingressClassName#- Type
string, default"". Optionally set the ingressClassName. spark.spark-operator.controller.uiIngress.tls#- Type
list, default[]. Optionally set default TLS configuration for the Spark UI's ingress.ingressTLSin the SparkApplication spec overrides this. spark.spark-operator.controller.uiIngress.urlFormat#- Type
string, default"". Ingress URL format. Required ifcontroller.uiIngress.enableis true. spark.spark-operator.controller.uiService.enable#- Type
bool, defaulttrue. Specifies whether to create service for Spark web UI. spark.spark-operator.controller.volumeMounts#- Type
list, default[{"mountPath":"/tmp","name":"tmp","readOnly":false}]. Volume mounts for controller containers. spark.spark-operator.controller.volumes#- Type
list, default[{"emptyDir":{"sizeLimit":"1Gi"},"name":"tmp"}]. Volumes for controller pods. spark.spark-operator.controller.workers#- Type
int, default10. Reconcile concurrency, higher values might increase memory usage. spark.spark-operator.controller.workqueueRateLimiter.bucketQPS#- Type
int, default50. Specifies the average rate of items process by the workqueue rate limiter. spark.spark-operator.controller.workqueueRateLimiter.bucketSize#- Type
int, default500. Specifies the maximum number of items that can be in the workqueue at any given time. spark.spark-operator.controller.workqueueRateLimiter.maxDelay.duration#- Type
string, default"6h". Specifies the maximum delay duration for the workqueue rate limiter. spark.spark-operator.controller.workqueueRateLimiter.maxDelay.enable#- Type
bool, defaulttrue. Specifies whether to enable max delay for the workqueue rate limiter. This is useful to avoid losing events when the workqueue is full. spark.spark-operator.fullnameOverride#- Type
string, default"". String to fully override release name. spark.spark-operator.hook.affinity#- Type
object, default{}. Affinity for the Helm hook Job. spark.spark-operator.hook.image.registry#- Type
string, default"docker.hops.works". Image registry. spark.spark-operator.hook.image.repository#- Type
string, default"hopsworks/spark-operator-crds". Image repository. spark.spark-operator.hook.image.tag#- Type
string, default If not set, the chart appVersion will be used.. Image tag. spark.spark-operator.hook.nodeSelector#- Type
object, default{}. Node selector for the Helm hook Job. spark.spark-operator.hook.tolerations#- Type
list, default[]. List of node taints to tolerate for the Helm hook Job. spark.spark-operator.hook.upgradeCrd#- Type
bool, defaulttrue. Whether to create a Helm pre-install/pre-upgrade hook Job to update CRDs. spark.spark-operator.image.pullPolicy#- Type
string, default"IfNotPresent". Image pull policy. spark.spark-operator.image.pullSecrets#- Type
list, default[]. Image pull secrets for private image registry. spark.spark-operator.image.registry#- Type
string, default"docker.hops.works". Image registry. spark.spark-operator.image.repository#- Type
string, default"hopsworks/spark-operator". Image repository. spark.spark-operator.image.tag#- Type
string, default If not set, the chart appVersion will be used.. Image tag. spark.spark-operator.nameOverride#- Type
string, default"". String to partially override release name. spark.spark-operator.podSecurityContext#-
Type
object. Pod-level security context for spark-operator spark.spark-operator.prometheus.metrics.enable#- Type
bool, defaulttrue. Specifies whether to enable prometheus metrics scraping. spark.spark-operator.prometheus.metrics.endpoint#- Type
string, default"/metrics". Metrics serving endpoint. spark.spark-operator.prometheus.metrics.jobStartLatencyBuckets#- Type
string, default"30,60,90,120,150,180,210,240,270,300". Job Start Latency histogram buckets. Specified in seconds. spark.spark-operator.prometheus.metrics.port#- Type
int, default8080. Metrics port. spark.spark-operator.prometheus.metrics.portName#- Type
string, default"metrics". Metrics port name. spark.spark-operator.prometheus.metrics.prefix#- Type
string, default"". Metrics prefix, will be added to all exported metrics. spark.spark-operator.prometheus.podMonitor.create#- Type
bool, defaultfalse. Specifies whether to create pod monitor. Note that prometheus metrics should be enabled as well. spark.spark-operator.prometheus.podMonitor.jobLabel#- Type
string, default"spark-operator-podmonitor". The label to use to retrieve the job name from spark.spark-operator.prometheus.podMonitor.labels#- Type
object, default{}. Pod monitor labels spark.spark-operator.prometheus.podMonitor.podMetricsEndpoint#- Type
object, default{"interval":"5s","scheme":"http"}. Prometheus metrics endpoint properties.metrics.portNamewill be used as a port spark.spark-operator.securityContext#-
Type
object. Container-level security context for spark-operator spark.spark-operator.spark.jobNamespaces#- Type
list, default[]. List of namespaces where to run spark jobs. If empty string is included, all namespaces will be allowed. Make sure the namespaces have already existed. spark.spark-operator.spark.rbac.annotations#- Type
object, default{}. Optional annotations for the spark application RBAC resources. spark.spark-operator.spark.rbac.create#- Type
bool, defaulttrue. Specifies whether to create RBAC resources for spark applications. spark.spark-operator.spark.serviceAccount.annotations#- Type
object, default{}. Optional annotations for the spark service account. spark.spark-operator.spark.serviceAccount.automountServiceAccountToken#- Type
bool, defaulttrue. Auto-mount service account token to the spark applications pods. spark.spark-operator.spark.serviceAccount.create#- Type
bool, defaulttrue. Specifies whether to create a service account for spark applications. spark.spark-operator.spark.serviceAccount.name#- Type
string, default"". Optional name for the spark service account. spark.spark-operator.webhook.affinity#- Type
object, default{}. Affinity for webhook pods. spark.spark-operator.webhook.annotations#- Type
object, default{}. Extra annotations for webhook pods. spark.spark-operator.webhook.enable#- Type
bool, defaulttrue. Specifies whether to enable webhook. spark.spark-operator.webhook.env#- Type
list, default[]. Environment variables for webhook containers. spark.spark-operator.webhook.envFrom#- Type
list, default[]. Environment variable sources for webhook containers. spark.spark-operator.webhook.failurePolicy#- Type
string, default"Fail". Specifies how unrecognized errors are handled. Available options areIgnoreorFail. spark.spark-operator.webhook.labels#- Type
object, default{}. Extra labels for webhook pods. spark.spark-operator.webhook.leaderElection.enable#- Type
bool, defaulttrue. Specifies whether to enable leader election for webhook. spark.spark-operator.webhook.logLevel#- Type
string, default"info". Configure the verbosity of logging, can be one ofdebug,info,error. spark.spark-operator.webhook.nodeSelector#- Type
object, default{}. Node selector for webhook pods. spark.spark-operator.webhook.podDisruptionBudget.enable#- Type
bool, defaultfalse. Specifies whether to create pod disruption budget for webhook. Ref: Specifying a Disruption Budget for your Application spark.spark-operator.webhook.podDisruptionBudget.minAvailable#- Type
int, default1. The number of pods that must be available. Requirewebhook.replicasto be greater than 1 spark.spark-operator.webhook.podSecurityContext#- Type
object, default{"fsGroup":185}. Security context for webhook pods. spark.spark-operator.webhook.port#- Type
int, default9443. Specifies webhook port. spark.spark-operator.webhook.portName#- Type
string, default"webhook". Specifies webhook service port name. spark.spark-operator.webhook.priorityClassName#- Type
string, default"". Priority class for webhook pods. spark.spark-operator.webhook.rbac.annotations#- Type
object, default{}. Extra annotations for the webhook RBAC resources. spark.spark-operator.webhook.rbac.create#- Type
bool, defaulttrue. Specifies whether to create RBAC resources for the webhook. spark.spark-operator.webhook.replicas#- Type
int, default1. Number of replicas of webhook server. spark.spark-operator.webhook.resourceQuotaEnforcement.enable#- Type
bool, defaultfalse. Specifies whether to enable the ResourceQuota enforcement for SparkApplication resources. spark.spark-operator.webhook.resources#- Type
object, default{"requests":{"cpu":"300m","memory":"512Mi"}}. Pod resource requests and limits for webhook pods. spark.spark-operator.webhook.securityContext#-
Type
object. Security context for webhook containers. spark.spark-operator.webhook.serviceAccount.annotations#- Type
object, default{}. Extra annotations for the webhook service account. spark.spark-operator.webhook.serviceAccount.automountServiceAccountToken#- Type
bool, defaulttrue. Auto-mount service account token to the webhook pods. spark.spark-operator.webhook.serviceAccount.create#- Type
bool, defaulttrue. Specifies whether to create a service account for the webhook. spark.spark-operator.webhook.serviceAccount.name#- Type
string, default"". Optional name for the webhook service account. spark.spark-operator.webhook.sidecars#- Type
list, default[]. Sidecar containers for webhook pods. spark.spark-operator.webhook.timeoutSeconds#- Type
int, default10. Specifies the timeout seconds of the webhook, the value must be between 1 and 30. spark.spark-operator.webhook.tolerations#- Type
list, default[]. List of node taints to tolerate for webhook pods. spark.spark-operator.webhook.topologySpreadConstraints#- Type
list, default[]. Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: Pod Topology Spread Constraints. The labelSelector field in topology spread constraint will be set to the selector labels for webhook pods if not specified. spark.spark-operator.webhook.volumeMounts#-
Type
list. Volume mounts for webhook containers. spark.spark-operator.webhook.volumes#-
Type
list. Volumes for webhook pods.
sparkOperatorUpgradeJob#
Defaults as YAML
spark:
sparkOperatorUpgradeJob:
crdImage:
repository: spark-operator-crds
tag: 2.2.1-1.4
imagePullPolicy: Always
leaderElectionLockName: spark-operator-lock
leaderElectionLockNamespace: ''
name: spark-operator-upgrade-job
nodeSelector: {}
podMonitorName: spark-operator-podmonitor
resources:
limits:
cpu: 200m
memory: 200M
requests:
cpu: 100m
memory: 100M
serviceAccount:
annotations: {}
sparkJobNamespace: ''
tolerations: []
spark.sparkOperatorUpgradeJob#-
Type
object. Job configuration to clean up old spark-operator resources before upgrading.Default
crdImage: repository: spark-operator-crds tag: 2.2.1-1.4 imagePullPolicy: Always leaderElectionLockName: spark-operator-lock leaderElectionLockNamespace: '' name: spark-operator-upgrade-job nodeSelector: {} podMonitorName: spark-operator-podmonitor resources: limits: cpu: 200m memory: 200M requests: cpu: 100m memory: 100M serviceAccount: annotations: {} sparkJobNamespace: '' tolerations: [] spark.sparkOperatorUpgradeJob.crdImage#- Type
object, default{"repository":"spark-operator-crds","tag":"2.2.1-1.4"}. Image for the pre-upgrade Job. Must ship the spark-operator CRDs at/opt/spark-operator-crds/and providebashandkubectl. spark.sparkOperatorUpgradeJob.leaderElectionLockName#- Type
string, default"spark-operator-lock". Leader election lease name used by the old chart (only if replicaCount > 1). spark.sparkOperatorUpgradeJob.leaderElectionLockNamespace#- Type
string, default"". Optional leader election lease namespace (defaults to release namespace). spark.sparkOperatorUpgradeJob.nodeSelector#- Type
object, default{}. node selector configuration spark.sparkOperatorUpgradeJob.podMonitorName#- Type
string, default"spark-operator-podmonitor". PodMonitor name used by the old chart (only if enabled). spark.sparkOperatorUpgradeJob.serviceAccount.annotations#- Type
object, default{}. service account annotations spark.sparkOperatorUpgradeJob.sparkJobNamespace#- Type
string, default"". Namespace where spark app RBAC/SA were created by the old chart.