Le problème était qu'il y avait une déclaration VOLUME pour /var/lib/postgresql/data
dans postgres:9.6
Dockerfile qui a provoqué un montage supplémentaire sur le conteneur. Ce montage était éphémère lorsque nous avions le montage du volume sur /var/lib/postgresql
. Mais nous n'avons pas pu monter le volume AKS sur /var/lib/postgresql/data
parce que le volume est venu avec lost+found
sous-répertoire et Postgres attend un répertoire vide pour stocker les fichiers de base de données.
Le correctif consistait à monter le volume sur /var/lib/postgresql/data
et dites à Postgres d'utiliser un sous-répertoire sous /var/lib/postgresql/data
pour stocker des fichiers avec PGDATA
env var.
Vous trouverez ci-dessous les parties pertinentes du correctif dans la configuration de k8s statefulset
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata