9951 explained code solutions for 126 technologies


postgresqlHow can I use PostgreSQL with Kubernetes?


PostgreSQL can be used with Kubernetes to manage stateful applications.

To use PostgreSQL with Kubernetes, you need to create a Kubernetes StatefulSet for the PostgreSQL instances. This StatefulSet will manage the PostgreSQL instances, ensuring that they remain running and that the data is persisted.

You can also use the Kubernetes PostgreSQL Operator to manage PostgreSQL deployments. This operator simplifies the deployment and management of PostgreSQL clusters on Kubernetes.

Below is an example of a Kubernetes StatefulSet for PostgreSQL:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgres
spec:
  selector:
    matchLabels:
      app: postgres
  serviceName: postgres
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
      - name: postgres
        image: postgres:latest
        ports:
        - containerPort: 5432
        env:
        - name: POSTGRES_DB
          value: mydb
        - name: POSTGRES_USER
          value: myuser
        - name: POSTGRES_PASSWORD
          value: mypassword
        volumeMounts:
        - name: postgres-data
          mountPath: /var/lib/postgresql/data
  volumeClaimTemplates:
  - metadata:
      name: postgres-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: my-storage-class
      resources:
        requests:
          storage: 1Gi

This example StatefulSet will create a single instance of PostgreSQL, with the database name, username, and password specified in the env section. The data will be stored in a Kubernetes Persistent Volume, and the storage class name for the volume is specified in the storageClassName field.

Helpful links

Edit this code on GitHub