Masalahnya adalah ada deklarasi VOLUME untuk /var/lib/postgresql/data
di postgres:9.6
Dockerfile yang menyebabkan pemasangan tambahan pada wadah. Mount itu bersifat sementara ketika kami memiliki volume mount di /var/lib/postgresql
. Tetapi kami tidak dapat memasang volume AKS ke /var/lib/postgresql/data
karena volume datang dengan lost+found
subdirektori dan Postgres mengharapkan direktori kosong untuk menyimpan file DB.
Cara mengatasinya adalah dengan memasang volume di /var/lib/postgresql/data
dan beri tahu Postgres untuk menggunakan subdirektori di bawah /var/lib/postgresql/data
untuk menyimpan file dengan PGDATA
env var.
Di bawah ini adalah bagian perbaikan yang relevan dalam konfigurasi statefulset k8s
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata