apiVersion: v1 kind: PersistentVolumeClaim metadata: name: dnd-dev-postgres-pvc namespace: dnd-dev spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: dnd-postgres-service namespace: dnd-dev spec: selector: app: dnd-dev-postgres ports: - protocol: TCP port: 5432 targetPort: 5432 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: dnd-dev-postgres namespace: dnd-dev spec: serviceName: "dnd-postgres-service" replicas: 1 selector: matchLabels: app: dnd-dev-postgres template: metadata: labels: app: dnd-dev-postgres spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: workload operator: In values: - Games containers: - name: postgres image: postgres:15-alpine env: - name: POSTGRES_DB value: "dnd_ledger" - name: POSTGRES_USER value: "admin" - name: POSTGRES_PASSWORD value: "dndgeheim123" ports: - containerPort: 5432 volumeMounts: - name: postgres-storage mountPath: /var/lib/postgresql/data volumes: - name: postgres-storage persistentVolumeClaim: claimName: dnd-dev-postgres-pvc