初期化スクリプトを使って実現します
また HA 構成の場合は pgpool 側にも認証情報の追加が必要なのもポイントです
pgpool 側にもユーザを追加するための初期化スクリプトを流します
環境
kubernetes 1.20.5
helm 3.5.2
bitnami PostgreSQL ha helm chart 7.6.2
values.yaml
postgresql:password: xxxx
repmgrPassword: xxxx
initdbScripts:setup.sql:|
CREATE USER user1 WITH PASSWORD 'xxxx';
CREATE USER user2 WITH PASSWORD 'xxxx';
CREATE DATABASE db1 WITH OWNER user1;
CREATE DATABASE db2 WITH OWNER user2;pgpool:adminPassword: xxxx
initdbScripts:setup.sh:|
#!/bin/bash
USERS=("uesr1:xxxx" "user2:xxxx")
for user in "${USERS[@]}"; do
user_info=(${user//:/ })
pg_md5 -m --config-file="/opt/bitnami/pgpool/conf/pgpool.conf" -u "${user_info[0]}" "${user_info[1]}"
doneservice:type: NodePort
nodePort:30432
NAME READY STATUS RESTARTS AGE
pod/acid-test-0 1/1 Running 0 12m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/acid-test ClusterIP 10.107.79.204 <none> 5432/TCP 12m
service/acid-test-repl ClusterIP 10.107.39.37 <none> 5432/TCP 12m
NAME READY AGE
statefulset.apps/acid-test 1/1 12m
NAME TEAM VERSION PODS VOLUME CPU-REQUEST MEMORY-REQUEST AGE STATUS
postgresql.acid.zalan.do/acid-test acid 13 1 10Gi 100m 100Mi 12m Running
kubectl exec pod/test2-postgresql-ha-postgresql-0 -- /opt/bitnami/scripts/postgresql-repmgr/entrypoint.sh repmgr -f /opt/bitnami/repmgr/conf/repmgr.conf service status
postgresql-repmgr 08:21:12.78
postgresql-repmgr 08:21:12.78 Welcome to the Bitnami postgresql-repmgr container
postgresql-repmgr 08:21:12.78 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql-repmgr
postgresql-repmgr 08:21:12.79 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql-repmgr/issues
postgresql-repmgr 08:21:12.79
ID | Name | Role | Status | Upstream | repmgrd | PID | Paused? | Upstream last seen
----+----------------------------------+---------+-----------+----------------------------------+---------+-----+---------+--------------------
1000 | test2-postgresql-ha-postgresql-0 | primary | * running | | running | 1 | no | n/a
1001 | test2-postgresql-ha-postgresql-1 | standby | running | test2-postgresql-ha-postgresql-0 | running | 1 | no | 1 second(s) ago