!!! Verwenden Sie stattdessen https://github.com/appuio/postgres-backup-cronjob !!!
Container für vollständige Sicherungen von PostgreSQL -Datenbanken, die auf OpenShift ausgeführt werden. Die Sicherung erfolgt durch das pg_basebackup
-Tool.
Einfachere Backups mit pg_dump
sind im PostgreSQL-Simple-Backup-Container-Repository verfügbar.
Geben Sie einen Container an, der periodische Sicherungen einer PostgreSQL -Datenbank durchführt.
Der Backup -Container ist nicht fertig Jet: Arbeit in Arbeit.
Dieser Repo ist vom MySQL-Backup-Container inspiriert: https://github.com/appuio/mysql-simple-backup-container
Die Datenbank muss mit einem Master -Benutzer eingerichtet werden und das Passwort.
Die Datenbank muss konfiguriert werden, um den Remote -Zugriff von anderen Hosts zu ermöglichen.
Der Datenbankbenutzer für die Sicherung muss über eine Superuser- oder Replikationsrolle verfügen.
Die Datenbank muss eingerichtet werden, um Remote -Sicherungsverbindungen zu ermöglichen.
Fügen Sie dazu die folgende Konfiguration zur Konfigurationsdatei /etc/postgresql/XX/main/postgresql.conf
hinzu
Verwenden Sie Ihre Datenbankversion für 'x.x'. Als Beispiel: '9.5'
max_wal_senders = 5
wal_level = hot_standby
archive_mode = on
archive_command = '/bin/true'
Verwendung bei OpenShift.
Erstellen und Ausführen der PostgreSQL -Datenbank.
Erstellen Sie den Container mit dem oc tool
aus Docker Image:
oc new-app
-e POSTGRES_PASSWORD=mysecretpassword
-e POSTGRESQL_USER=postgresuser
-e POSTGRESQL_PASSWORD=mysecretpassword
-e POSTGRESQL_DATABASE=postgresdb
-e POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
-l app=postgresdb
centos/postgresql-95-centos7
Erstellen Sie den Container mit dem oc tool
aus installierter Vorlage:
oc new-app --template=postgresql-ephemeral
--param=POSTGRESQL_USER=postgresuser
--param=POSTGRESQL_PASSWORD=mysecretpassword
--param=POSTGRESQL_DATABASE=postgresdb
--param=DATABASE_SERVICE_NAME=postgresqldb
-l app=postgresdb
Bearbeiten Sie die Bereitstellungskonfiguration und fügen Sie das Master -Kennwort als Env -Variable hinzu.
env:
-
name: POSTGRESQL_ADMIN_PASSWORD
value: mysecretpassword2
Erstellen Sie den Container mit dem oc tool
aus der lokalen Vorlage:
oc process -f postgresql-ephemeral-template.json
-v
POSTGRES_PASSWORD=mysecretpassword
POSTGRESQL_USER=postgresuser
POSTGRESQL_PASSWORD=mysecretpassword
POSTGRESQL_DATABASE=postgresdb
POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
DATABASE_SERVICE_NAME=postgresqldb
| oc create -f -
Erstellen Sie den Container mit dem oc tool
aus der lokalen DB Dockerfile. Es ist gepatcht, um Remote -Verbindungen zu ermöglichen.
oc new-app
-e POSTGRES_PASSWORD=mysecretpassword
-e POSTGRESQL_USER=postgresuser
-e POSTGRESQL_PASSWORD=mysecretpassword
-e POSTGRESQL_DATABASE=postgresdb
-e POSTGRESQL_ADMIN_PASSWORD=mysecretpassword2
-e DATABASE_SERVICE_NAME=postgresqldb
-l app=postgresdb
https://github.com/appuio/postgresql-backup-container
--context-dir=database
--name=postgresqldb
Weitere Dokumentation für Postgresql über OpenShift.
Der PostgreSQL -Datenbankcontainer auf GitHub.
Löschen Sie alle Ressourcen, die dem Datenbankcontainer gehören.
oc delete all -l app=postgresdb
Erstellen und führen Sie Postgresql -BackukP -Container bei OpenShift aus.
oc new-app
-e BACKUP_USER=postgres
-e BACKUP_PASS=mysecretpassword2
-e BACKUP_PORT=5432
-l app=backup
https://github.com/appuio/postgresql-backup-container
Löschen Sie alle Ressourcen, die dem Backup -Container gehören.
oc delete all -l app=backup
Erstellen und Bereitstellen von OpenShift -Vorlagen für den Sicherungscontainer und kombiniert mit der Datenbank.
OpenShift -Vorlagen:
Führen Sie einen PostgreSQL -Datenbankcontainer aus.
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
Führen Sie einen knusprigen Postgresql -Datenbankcontainer aus.
docker run
--name some-postgres
-e "PG_MODE=master"
-e "PG_MASTER_USER=master"
-e "PG_MASTER_PASSWORD=master.chief"
-e "PG_USER=postgres"
-e "PG_PASSWORD=mysecretpassword"
-e "PG_DATABASE=postgres"
-e "PG_ROOT_PASSWORD=mysecretpassword2"
-d -p 5432:5432
crunchydata/crunchy-postgres:centos7-9.5-1.2.5
Init -Datenbank.
docker build -t pg_backup .
Umfeld:
Backup -Verzeichnis erstellen:
mkdir pgdata
Backup -Container starten:
docker run -ti
-e "BACKUP_HOST=postgresdb"
-e "BACKUP_USER=postgres"
-e "BACKUP_PASS=mysecretpassword"
-e "BACKUP_PORT=5432"
-v $(pwd)/pgdata:/pgdata
--link some-postgres:postgresdb
pg_backup