Vấn đề là có một khai báo VOLUME cho /var/lib/postgresql/data
trong postgres:9.6
Dockerfile gây ra gắn kết bổ sung trên vùng chứa. Sự gắn kết đó là phù du khi chúng tôi có tập kết nối tại /var/lib/postgresql
. Nhưng chúng tôi không thể gắn khối lượng AKS vào /var/lib/postgresql/data
bởi vì khối lượng đi kèm với lost+found
thư mục con và Postgres mong đợi thư mục trống để lưu trữ các tệp DB.
Cách khắc phục là gắn ổ đĩa tại /var/lib/postgresql/data
và yêu cầu Postgres sử dụng thư mục con bên dưới /var/lib/postgresql/data
để lưu trữ tệp bằng PGDATA
env var.
Dưới đây là các phần sửa chữa liên quan trong cấu hình statefulset k8s
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata