Das Problem war, dass es eine VOLUME-Deklaration für /var/lib/postgresql/data
gab in postgres:9.6
Dockerfile, das einen zusätzlichen Mount auf dem Container verursacht hat. Dieser Mount war vergänglich, als wir den Volume-Mount unter /var/lib/postgresql
hatten . Wir konnten das AKS-Volume jedoch nicht unter /var/lib/postgresql/data
bereitstellen weil der Band mit lost+found
kam Unterverzeichnis und Postgres erwartet ein leeres Verzeichnis zum Speichern von DB-Dateien.
Die Lösung bestand darin, das Volume unter /var/lib/postgresql/data
einzuhängen und weisen Sie Postgres an, ein Unterverzeichnis unter /var/lib/postgresql/data
zu verwenden um Dateien mit PGDATA
zu speichern Umgebungsvar.
Unten sind die relevanten Teile der Korrektur in der k8s Statefulset-Konfiguration
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata