Вие сте на прав път...
Грешката, която получавате, е защото искате да използвате основната папка на монтирания том /
като postgresql Data dir и postgresql се оплакват, че това не е най-добрата практика, тъй като не е празно и вече съдържа някои данни вътре (а именно lost+found
директория).
Много по-добре е да намерите директорията с данни в отделна празна подпапка (/postgres
например) и дайте на postgresql чист лист, когато създавате неговата файлова структура. Не сте получили същото на minicube, тъй като най-вероятно сте монтирали хост папка, която няма нищо вътре (беше празна) и не е задействала такова оплакване.
За да направите това, ще ви трябва първоначално празен subPath
от вашия обем (празен /postgres
подпапка на вашия PV например) монтиран към подходяща точка на монтиране (/var/lib/posgresql/data
) във вашата капсула. Обърнете внимание, че можете да наименувате subPath и крайната папка на точката на монтиране с едно и също име, те са различни тук само като пример, където test-db-volume/postgres
папката ще бъде монтирана на pod към /var/lib/postgresql/data
папка:
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...