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