Files
payphone/k8s/citus-worker.yml
T

64 lines
1.5 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: citus-worker
spec:
replicas: 2 # Increase as needed for more workers
selector:
matchLabels:
app: citus
role: worker
serviceName: citus-worker-headless
template:
metadata:
labels:
app: citus
role: worker
spec:
containers:
- name: worker
image: citusdata/citus:latest
env:
- name: POSTGRES_DB
value: "payphone"
- name: POSTGRES_USER
value: "payphone"
- name: POSTGRES_PASSWORD
value: "payphone"
ports:
- containerPort: 5432
resources:
requests:
memory: "2Gi"
cpu: "1"
limits:
memory: "2Gi"
cpu: "2"
volumeMounts:
- name: citus-worker-storage
mountPath: /var/lib/postgresql/data
volumeClaimTemplates:
- metadata:
name: citus-worker-storage
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "standard" # Update based on your storage class
resources:
requests:
storage: 5Gi # Size per worker
---
apiVersion: v1
kind: Service
metadata:
name: citus-worker-headless
spec:
selector:
app: citus
role: worker
ports:
- protocol: TCP
port: 5432
targetPort: 5432
clusterIP: None # Defines the service as headless, allowing direct pod DNS entries