Sei sulla buona strada...
L'errore che ottieni è dovuto al fatto che desideri utilizzare la cartella principale del volume montato /
come postgresql Data dir e postgresql si lamentano del fatto che non è una buona pratica farlo poiché non è vuoto e contiene già alcuni dati all'interno (vale a dire lost+found
directory).
È molto meglio individuare la directory dei dati in una sottocartella vuota separata (/postgres
per esempio) e dai a postgresql una tabula rasa durante la creazione della sua struttura di file. Non hai ottenuto la stessa cosa su Minicube poiché molto probabilmente hai montato la cartella host che non aveva nulla all'interno (era vuota) e non ha attivato un reclamo del genere.
Per fare ciò, dovresti inizialmente vuoto subPath
del tuo volume (vuoto /postgres
sottocartella sul tuo PV, ad esempio) montata su un punto di montaggio appropriato (/var/lib/posgresql/data
) nel tuo pod. Nota che puoi assegnare lo stesso nome a subPath e cartella finale del punto di montaggio, qui sono diversi solo come esempio in cui test-db-volume/postgres
la cartella verrebbe montata sul pod in /var/lib/postgresql/data
cartella:
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...