PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So mounten Sie ein Postgresql-Volume mit AWS EBS in Kubernete

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