test-postgresql.yaml
Receive the errors from pod:
initdb: directory "/var/lib/postgresql/data" exists but is not empty It contains a lost+found directory, perhaps due to it being a mount point. Using a mount point directly as the data directory is not recommended. Create a subdirectory under the mount point.
Why the pod can't use this path? I've tried the same tests on minikube. I didn't meet any problem.
So what's the way to correctly mount a postgresql volume using Aws EBS in Kubernete, which allows the recreated pods can reuse initial data base stored in EBS?
A Volume in Kubernetes represents a directory with data that is accessible across multiple containers in a Pod. The container data in a Pod is deleted or lost when a container crashes or restarts, but when you use a volume, the new container can pick up the data at the state before the container crashes.
So what's the way to correctly mount a postgresql volume using Aws EBS
You are on a right path...
Error you get is because you want to use root folder of mounted volume /
as postgresql Data dir and postgresql complains that it is not best practice to do so since it is not empty and contains already some data inside (namely lost+found
directory).
It is far better to locate data dir in separate empty subfolder (/postgres
for example) and give postgresql clean slate when creating its file structure. You didn't get same thing on minicube since you most probably mounted host folder that didn't have anything inside (was empty) and didn't trigger such a complaint.
To do so, you would need initially empty subPath of your volume (empty /postgres
subfolder on your PV for example) mounted to appropriate mount point (/var/lib/posgresql/data
) in your pod. Note that you can name subPath and mount point end folder the same name, they are different here just as an example where test-db-volume/postgres
folder would be mounted on pod to /var/lib/postgresql/data
folder:
... volumeMounts: - mountPath: /var/lib/postgresql/data name: test-db-volume subPath: postgres ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With