--- apiVersion: apps/v1 kind: StatefulSet metadata: labels: app.kubernetes.io/component: primary app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql name: postgresql namespace: backup spec: podManagementPolicy: OrderedReady replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql role: primary serviceName: postgresql-headless template: metadata: labels: app.kubernetes.io/component: primary app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql role: primary name: postgresql spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/component: primary app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql namespaces: - backup topologyKey: kubernetes.io/hostname weight: 1 containers: - env: - name: POSTGRES_PASSWORD value: "bacula" - name: POSTGRES_USER value: "bacula" - name: POSTGRES_DB value: "bacula" - name: POSTGRES_INITDB_ARGS value: '--encoding=SQL_ASCII --lc-collate=C --lc-ctype=C' image: docker.io/eftechcombr/bacula:15.0.2-catalog imagePullPolicy: IfNotPresent name: postgresql ports: - containerPort: 5432 name: tcp-postgresql protocol: TCP resources: requests: cpu: 250m memory: 256Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/postgresql/data name: data dnsPolicy: ClusterFirst restartPolicy: Always terminationGracePeriodSeconds: 30 volumes: - emptyDir: name: data updateStrategy: type: RollingUpdate status: replicas: 1 --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" name: postgresql-headless namespace: backup spec: clusterIP: None clusterIPs: - None ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: tcp-postgresql port: 5432 protocol: TCP targetPort: tcp-postgresql publishNotReadyAddresses: true selector: app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql sessionAffinity: None type: ClusterIP status: loadBalancer: {} --- apiVersion: v1 kind: Service metadata: annotations: meta.helm.sh/release-name: backup meta.helm.sh/release-namespace: backup labels: app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql name: postgresql namespace: backup spec: ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: tcp-postgresql port: 5432 protocol: TCP targetPort: tcp-postgresql selector: app.kubernetes.io/instance: backup app.kubernetes.io/name: postgresql role: primary sessionAffinity: None type: ClusterIP status: loadBalancer: {}