1 |
apiVersion: apps/v1 |
2 |
kind: StatefulSet |
3 |
metadata: |
4 |
name: postgres |
5 |
spec: |
6 |
selector: |
7 |
matchLabels: |
8 |
app: postgres |
9 |
serviceName: postgres |
10 |
replicas: 1 |
11 |
template: |
12 |
metadata: |
13 |
labels: |
14 |
app: postgres |
15 |
spec: |
16 |
containers: |
17 |
- name: postgres |
18 |
image: postgres:latest |
19 |
resources: |
20 |
limits: |
21 |
memory: "500Mi" |
22 |
cpu: "250m" |
23 |
ports: |
24 |
- containerPort: 5432 |
25 |
env: |
26 |
- name: POSTGRES_DB |
27 |
value: sudobot |
28 |
- name: POSTGRES_USER |
29 |
value: postgres |
30 |
- name: POSTGRES_PASSWORD |
31 |
valueFrom: |
32 |
secretKeyRef: |
33 |
name: sudobot |
34 |
key: db_password |
35 |
volumeMounts: |
36 |
- name: postgres-pv |
37 |
mountPath: /var/lib/postgresql/data |
38 |
- name: postgres-config |
39 |
mountPath: /etc/postgresql |
40 |
volumes: |
41 |
- name: postgres-pv |
42 |
persistentVolumeClaim: |
43 |
claimName: postgres-pvc |
44 |
- name: postgres-config |
45 |
configMap: |
46 |
name: postgres-config |
47 |
defaultMode: 0755 |
48 |
volumeClaimTemplates: |
49 |
- metadata: |
50 |
name: postgres-pv |
51 |
spec: |
52 |
accessModes: [ "ReadWriteOnce" ] |
53 |
resources: |
54 |
requests: |
55 |
storage: 5Gi |