apiVersion: v1 kind: Service metadata: name: mastodon-pgsql namespace: mastodon labels: app: mastodon spec: type: NodePort ports: - port: 5432 name: pgsql nodePort: 30798 targetPort: pgsql selector: app: mastodon tier: pgsql --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pgsql-pv-claim namespace: mastodon labels: app: mastodon spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mastodon-pgsql namespace: mastodon labels: app: mastodon spec: selector: matchLabels: app: mastodon tier: pgsql strategy: type: Recreate template: metadata: labels: app: mastodon tier: pgsql spec: containers: - image: postgres name: pgsql env: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: pgsql-pass key: password volumeMounts: - name: pgsql-persistent-storage mountPath: /var/lib/postgresql/data volumes: - name: pgsql-persistent-storage persistentVolumeClaim: claimName: pgsql-pv-claim