Files
rsop-k8s/cluster1/statefulset-db1.yaml

72 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: db1
namespace: cluster1
spec:
serviceName: db1
replicas: 1
selector:
matchLabels:
app: db1
template:
metadata:
labels:
app: db1
spec:
containers:
- name: postgres
image: postgres:15-alpine
ports:
- containerPort: 5432
env:
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: cluster1-postgres-secret
key: DB1_NAME
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: cluster1-postgres-secret
key: POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: cluster1-postgres-secret
key: POSTGRES_PASSWORD
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts:
- name: db1-data
mountPath: /var/lib/postgresql/data
- name: init-scripts
mountPath: /docker-entrypoint-initdb.d/01-init.sql
subPath: db1-init.sql
- name: init-scripts
mountPath: /docker-entrypoint-initdb.d/02-data.sql
subPath: db1-data.sql
volumes:
- name: db1-data
persistentVolumeClaim:
claimName: db1-data
- name: init-scripts
configMap:
name: cluster1-init-scripts
---
apiVersion: v1
kind: Service
metadata:
name: db1
namespace: cluster1
spec:
type: ClusterIP
selector:
app: db1
ports:
- name: postgres
port: 5432
targetPort: 5432