Você está no caminho certo...
O erro que você obtém é porque você deseja usar a pasta raiz do volume montado
/
como o postgresql Data dir e o postgresql reclamam que não é uma boa prática fazê-lo pois não está vazio e já contém alguns dados dentro (nomeadamente lost+found
diretório). É muito melhor localizar o diretório de dados em uma subpasta vazia separada (
/postgres
por exemplo) e dê uma ardósia limpa ao postgresql ao criar sua estrutura de arquivos. Você não obteve a mesma coisa no minicube, pois provavelmente montou a pasta host que não tinha nada dentro (estava vazia) e não acionou essa reclamação. Para fazer isso, você precisaria inicialmente esvaziar subPath do seu volume (vazio
/postgres
subpasta em seu PV por exemplo) montada no ponto de montagem apropriado (/var/lib/posgresql/data
) em seu pod. Observe que você pode nomear o subPath e a pasta final do ponto de montagem com o mesmo nome, eles são diferentes aqui apenas como um exemplo onde test-db-volume/postgres
pasta seria montada no pod para /var/lib/postgresql/data
pasta:...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...