Sie sind auf dem richtigen Weg...
Der Fehler, den Sie erhalten, liegt daran, dass Sie den Stammordner des bereitgestellten Volumes /
verwenden möchten as postgresql Data dir und postgresql beschwert sich, dass dies nicht die beste Vorgehensweise ist, da es nicht leer ist und bereits einige Daten enthält (nämlich lost+found
Verzeichnis).
Es ist viel besser, das Datenverzeichnis in einem separaten leeren Unterordner (/postgres
zum Beispiel) und geben Sie postgresql eine saubere Weste, wenn Sie seine Dateistruktur erstellen. Sie haben auf Minicube nicht dasselbe erhalten, da Sie höchstwahrscheinlich einen Hostordner gemountet haben, der nichts enthielt (leer war) und keine solche Beschwerde ausgelöst hat.
Dazu benötigen Sie zunächst einen leeren subPath
Ihres Volumes (leeres /postgres
Unterordner auf Ihrem PV zum Beispiel) an den entsprechenden Einhängepunkt gemountet (/var/lib/posgresql/data
). ) in Ihrem Pod. Beachten Sie, dass Sie subPath und den Mount-Punkt-Endordner mit demselben Namen benennen können, sie sind hier nur als Beispiel unterschiedlich, wobei test-db-volume/postgres
Der Ordner würde auf dem Pod unter /var/lib/postgresql/data
gemountet Ordner:
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-volume
subPath: postgres
...