El problema era que había una declaración de VOLUMEN para /var/lib/postgresql/data
en postgres:9.6
Dockerfile que provocó un montaje adicional en el contenedor. Ese montaje fue efímero cuando teníamos el montaje de volumen en /var/lib/postgresql
. Pero no pudimos montar el volumen de AKS en /var/lib/postgresql/data
porque el volumen venía con lost+found
subdirectorio y Postgres espera un directorio vacío para almacenar archivos DB.
La solución fue montar el volumen en /var/lib/postgresql/data
y dígale a Postgres que use un subdirectorio debajo de /var/lib/postgresql/data
para almacenar archivos con PGDATA
var. env.
A continuación se muestran las partes relevantes de la corrección en la configuración del conjunto de estado de k8s
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata