PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come montare un volume postgresql utilizzando Aws EBS in Kubernete

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
...