본문으로 건너뛰기

PostgreSQL

설치

PostgreSQL 이미지와 버전별 특징을 위 링크에서 확인할 수 있습니다.

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update bitnami \
&& helm search repo bitnami/postgresql -l | head -n 10
helm pull bitnami/postgresql --version 16.2.3
helm show values bitnami/postgresql --version 16.2.3 > postgresql-16.2.3.yaml
postgresql-values.yaml
fullnameOverride: ""

commonLabels: {}

global:
storageClass: ""

auth:
postgresPassword: ""

primary:
affinity: {}

tolerations: []

persistence:
size: 5Gi
  • auth
    • enablePostgresUser: true
      • false로 설정하면 postgres 유저로 접속할 때 암호 없이 접속할 수 있지만, 원격 접속이 제한됩니다.
경고

PGDATA/var/lib/postgresql/data를 사용하는 경우, 볼륨을 /var/lib/postgresql에 마운트하더라도 로컬 볼륨을 사용하므로 이를 바꾸지 않으면 데이터가 삭제됩니다.

helm template postgres postgresql-16.2.3.tgz \
-n postgres \
-f postgresql-values.yaml \
> postgresql.yaml
helm upgrade postgres postgresql-16.2.3.tgz \
--install \
--history-max 5 \
-n postgres \
-f postgresql-values.yaml \

Test

kubectl get secret -n postgres postgres -o jsonpath='{.data.postgres-password}' | base64 -d
kubectl run tmp-psql --rm -it --image postgres -- psql -h postgres.postgres -U postgres -W