apiVersion: apps/v1 kind: StatefulSet metadata: name: postgres labels: app: postgres env: live spec: selector: matchLabels: app: postgres env: live serviceName: postgres-service replicas: 1 template: metadata: labels: app: postgres env: live spec: containers: - name: postgres image: postgres volumeMounts: - name: postgres-disk mountPath: /var/lib/postgresql/data env: - name: POSTGRES_PASSWORD value: pg2020 - name: PGDATA value: /var/lib/postgresql/data/pgdata volumes: - name: postgres-disk persistentVolumeClaim: claimName: postgres # volumeClaimTemplates: # - metadata: # name: postgres-disk # spec: # accessModes: # - ReadWriteOnce # resources: # requests: # storage: 10Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres labels: app: postgres spec: storageClassName: nfs-ssd accessModes: - ReadWriteOnce resources: requests: storage: 20Mi # service.yml --- apiVersion: v1 kind: Service metadata: name: postgres labels: app: postgres env: live spec: selector: env: live type: LoadBalancer ports: - port: 5432 targetPort: 5432