0b69b04b1c
local-path PVCs are created root-owned. The apache/spark image runs as spark (UID 185). fsGroup: 185 makes K8s chown the mounted volume to that group on attach, fixing the mkdir IOException on /spark-checkpoint. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
72 lines
2.0 KiB
YAML
Executable File
72 lines
2.0 KiB
YAML
Executable File
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: spark-live-dashboard
|
|
labels:
|
|
app.kubernetes.io/name: spark-analytics
|
|
app.kubernetes.io/part-of: nowchess
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: spark-live-dashboard
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: spark-live-dashboard
|
|
app.kubernetes.io/name: spark-analytics
|
|
app.kubernetes.io/part-of: nowchess
|
|
spec:
|
|
serviceAccountName: spark-analytics
|
|
securityContext:
|
|
fsGroup: 185
|
|
imagePullSecrets:
|
|
- name: ghcr-pull-secret
|
|
containers:
|
|
- name: spark-driver
|
|
image: ghcr.io/now-chess/now-chess-systems/analytics:latest
|
|
command:
|
|
- /opt/spark/bin/spark-submit
|
|
- --master
|
|
- spark://spark-master:7077
|
|
- --conf
|
|
- spark.executor.instances=1
|
|
- --conf
|
|
- spark.executor.memory=512m
|
|
- --conf
|
|
- spark.driver.memory=512m
|
|
- --class
|
|
- de.nowchess.analytics.LiveDashboardJob
|
|
- local:///app/analytics.jar
|
|
- /spark-checkpoint
|
|
env:
|
|
- name: NOWCHESS_JDBC_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: ncs-db-secrets
|
|
key: STORE_DB_URL
|
|
- name: NOWCHESS_DB_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: ncs-db-secrets
|
|
key: STORE_DB_USER
|
|
- name: NOWCHESS_DB_PASS
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: ncs-db-secrets
|
|
key: STORE_DB_PASSWORD
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 768Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 1Gi
|
|
volumeMounts:
|
|
- name: spark-checkpoint
|
|
mountPath: /spark-checkpoint
|
|
volumes:
|
|
- name: spark-checkpoint
|
|
persistentVolumeClaim:
|
|
claimName: spark-streaming-checkpoint
|