PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment monter un volume postgresql à l'aide d'Aws EBS dans Kubernete

Vous êtes sur la bonne voie...

L'erreur que vous obtenez est parce que vous voulez utiliser le dossier racine du volume monté / comme postgresql Data dir et postgresql se plaignent que ce n'est pas la meilleure pratique de le faire car il n'est pas vide et contient déjà des données à l'intérieur (à savoir lost+found répertoire).

Il est de loin préférable de localiser le répertoire de données dans un sous-dossier vide séparé (/postgres par exemple) et donnez à postgresql une table rase lors de la création de sa structure de fichiers. Vous n'avez pas obtenu la même chose sur le minicube puisque vous avez probablement monté un dossier hôte qui ne contenait rien (était vide) et n'a pas déclenché une telle plainte.

Pour ce faire, vous devez d'abord vider subPath de votre volume (vide /postgres sous-dossier sur votre PV par exemple) monté au point de montage approprié (/var/lib/posgresql/data ) dans votre module. Notez que vous pouvez nommer le sous-chemin et le dossier de fin du point de montage du même nom, ils sont différents ici juste à titre d'exemple où test-db-volume/postgres le dossier serait monté sur le pod vers /var/lib/postgresql/data dossier :

...
volumeMounts:
- mountPath: /var/lib/postgresql/data
  name: test-db-volume
  subPath: postgres
...