Jsem zalohy můj Postgresql databáze pomocí této cronjob:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: postgres-backup
spec:
schedule: "0 2 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: postgres-backup
image: postgres:10.4
command: ["/bin/sh"]
args: ["-c", 'echo "$PGPASS" > /root/.pgpass && chmod 600 /root/.pgpass && pg_dump -Fc -h <host> -U <user> <db> > /var/backups/backup.dump']
env:
- name: PGPASS
valueFrom:
secretKeyRef:
name: pgpass
key: pgpass
volumeMounts:
- mountPath: /var/backups
name: postgres-backup-storage
restartPolicy: Never
volumes:
- name: postgres-backup-storage
hostPath:
path: /var/volumes/postgres-backups
type: DirectoryOrCreate
V cronjob dostane úspěšně proveden, zálohovat je a uložit v kontejneru pro Práci, ale tento kontejner je zastaven po úspěšném provedení skriptu. samozřejmě, že chci pro přístup zálohování souborů v kontejneru, ale nemůžu, protože je zastaven nebo ukončen.
existuje způsob, jak spouštět příkazy shellu v kontejneru poté, co je ukončen, takže mám přístup k zálohování souborů uložených v kontejneru?
Vím, že bych mohl udělat, že na uzel, ale nemám oprávnění k přístupu.