Il problema era che c'era una dichiarazione VOLUME per /var/lib/postgresql/data
in postgres:9.6
Dockerfile che ha causato un montaggio aggiuntivo sul contenitore. Quel montaggio era effimero quando avevamo il montaggio del volume su /var/lib/postgresql
. Ma non siamo stati in grado di montare il volume AKS su /var/lib/postgresql/data
perché il volume è arrivato con lost+found
sottodirectory e Postgres si aspetta una directory vuota per memorizzare i file DB.
La soluzione era montare il volume su /var/lib/postgresql/data
e dì a Postgres di usare una sottodirectory sotto /var/lib/postgresql/data
per memorizzare file con PGDATA
env var.
Di seguito sono riportate le parti rilevanti della correzione nella configurazione statefulset di k8s
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata