--- apiVersion: v1 kind: PersistentVolumeClaim metadata: namespace: woj name: db-pvc labels: app: db spec: accessModes: - ReadWriteOnce storageClassName: local-path resources: requests: storage: 5Gi --- apiVersion: apps/v1 kind: Deployment metadata: namespace: woj name: db-deployment labels: app: db spec: selector: matchLabels: app: db template: metadata: namespace: woj name: db-pod labels: app: db spec: containers: - name: db image: docker.io/library/postgres:16-alpine imagePullPolicy: IfNotPresent ports: - containerPort: 5432 env: - name: POSTGRES_USER valueFrom: configMapKeyRef: name: shared-config key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: configMapKeyRef: name: shared-config key: POSTGRES_PASSWORD - name: POSTGRES_DB valueFrom: configMapKeyRef: name: shared-config key: POSTGRES_DB volumeMounts: - name: db-vol mountPath: /var/lib/postgresql/data volumes: - name: db-vol persistentVolumeClaim: claimName: db-pvc --- apiVersion: v1 kind: Service metadata: namespace: woj name: db-service labels: app: db spec: type: ClusterIP selector: app: db ports: - protocol: TCP port: 5432 targetPort: 5432