apiVersion: v1 kind: Service metadata: name: pg labels: app: pg spec: ports: - port: 5432 name: pg clusterIP: None selector: app: pg --- apiVersion: apps/v1 kind: StatefulSet metadata: name: pg spec: selector: matchLabels: app: pg serviceName: "pg" replicas: 1 minReadySeconds: 10 # by default is 0 template: metadata: labels: app: pg spec: terminationGracePeriodSeconds: 10 containers: - name: pg securityContext: runAsUser: 3001 runAsGroup: 3001 image: postgres ports: - containerPort: 5432 name: postgres volumeMounts: - name: pg-data mountPath: /data/ env: - name: POSTGRES_PASSWORD value: 'abc@123' - name: POSTGRES_USER value: "postgres" - name: POSTGRES_DB value: "coal" - name: PGDATA value: "/data/" volumeClaimTemplates: - metadata: name: pg-data spec: accessModes: - ReadWriteOnce storageClassName: nfs resources: requests: storage: 10Gi