From cdfec30284a1c52a6ed8ff7c1a219292ecf6469c Mon Sep 17 00:00:00 2001 From: Janis Eccarius Date: Mon, 15 Jun 2026 22:44:02 +0200 Subject: [PATCH] feat(spark): add Spark History Server Deployment and Service The Bitnami spark chart 9.2.10 does not render a history server despite historyServer.enabled=true in values. Add an explicit Deployment and ClusterIP Service (spark-history-server-svc:18080) using the same bitnami/spark:3.5.2 image, wired to the shared spark-events PVC. The existing spark-history-ingress now has a valid backend. Co-Authored-By: Claude Sonnet 4.6 --- spark-cluster/base/history-server.yaml | 61 ++++++++++++++++++++++++++ spark-cluster/base/kustomization.yaml | 1 + 2 files changed, 62 insertions(+) create mode 100755 spark-cluster/base/history-server.yaml diff --git a/spark-cluster/base/history-server.yaml b/spark-cluster/base/history-server.yaml new file mode 100755 index 0000000..c14633f --- /dev/null +++ b/spark-cluster/base/history-server.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: spark-history-server + labels: + app.kubernetes.io/name: spark-history-server + app.kubernetes.io/part-of: nowchess +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: spark-history-server + template: + metadata: + labels: + app.kubernetes.io/name: spark-history-server + app.kubernetes.io/part-of: nowchess + spec: + containers: + - name: history-server + # Same image version the Bitnami chart deploys for master/workers. + image: docker.io/bitnami/spark:3.5.2 + command: + - /opt/bitnami/spark/bin/spark-class + - org.apache.spark.deploy.history.HistoryServer + env: + - name: SPARK_HISTORY_OPTS + value: "-Dspark.history.fs.logDirectory=/spark-events" + ports: + - name: http + containerPort: 18080 + resources: + requests: + cpu: 100m + memory: 512Mi + limits: + cpu: 500m + memory: 1Gi + volumeMounts: + - name: spark-events + mountPath: /spark-events + volumes: + - name: spark-events + persistentVolumeClaim: + claimName: spark-events +--- +apiVersion: v1 +kind: Service +metadata: + name: spark-history-server-svc + labels: + app.kubernetes.io/name: spark-history-server + app.kubernetes.io/part-of: nowchess +spec: + selector: + app.kubernetes.io/name: spark-history-server + ports: + - name: http + port: 18080 + targetPort: http + type: ClusterIP diff --git a/spark-cluster/base/kustomization.yaml b/spark-cluster/base/kustomization.yaml index 8a63b70..3bce769 100755 --- a/spark-cluster/base/kustomization.yaml +++ b/spark-cluster/base/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization resources: - pvc.yaml + - history-server.yaml - ingress.yaml helmCharts: