mirror of
https://github.com/wahyd4/home-docker.git
synced 2026-08-09 04:15:52 +10:00
add db backup
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: etcd-snapshot
|
||||
namespace: default
|
||||
spec:
|
||||
schedule: "0 5 * * *"
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: backup
|
||||
# Same image as in /etc/kubernetes/manifests/etcd.yaml
|
||||
image: k8s.gcr.io/etcd:3.4.3-0
|
||||
env:
|
||||
- name: ETCDCTL_API
|
||||
value: "3"
|
||||
command: ["/bin/sh"]
|
||||
args: ["-c", "etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key=/etc/kubernetes/pki/etcd/healthcheck-client.key snapshot save /backup/etcd/snapshot-$(date +%Y-%m-%d_%H-%M-%S_%Z).db"]
|
||||
volumeMounts:
|
||||
- mountPath: /etc/kubernetes/pki/etcd
|
||||
name: etcd-certs
|
||||
readOnly: true
|
||||
- mountPath: /backup/etcd
|
||||
subPath: etcd
|
||||
name: backup
|
||||
hostNetwork: true
|
||||
restartPolicy: Never
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: node-role.kubernetes.io/master
|
||||
operator: Exists
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
operator: Exists
|
||||
volumes:
|
||||
- name: etcd-certs
|
||||
hostPath:
|
||||
path: /etc/kubernetes/pki/etcd
|
||||
type: Directory
|
||||
- name: backup
|
||||
persistentVolumeClaim:
|
||||
claimName: backups-nfs-pvc
|
||||
---
|
||||
|
||||
apiVersion: batch/v1beta1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: pg-bakcup
|
||||
namespace: default
|
||||
spec:
|
||||
schedule: "0 6 * * *"
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
nodeSelector:
|
||||
dell: "true"
|
||||
containers:
|
||||
- name: backup
|
||||
# Same image as in /etc/kubernetes/manifests/etcd.yaml
|
||||
image: postgres:11
|
||||
env:
|
||||
- name: DB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgresql-credentials
|
||||
key: password
|
||||
- name: DB_USER
|
||||
value: postgres
|
||||
- name: DB_HOST
|
||||
value: home.toozhao.com
|
||||
command: ["/bin/sh"]
|
||||
args: ["-c", "PGPASSWORD=$DB_PASSWORD pg_dumpall -c -h $DB_HOST -p 32222 -U $DB_USER| gzip > /backups/postgres/dump-$(date +%Y-%m-%d_%H-%M-%S_%Z).tar.gz"]
|
||||
volumeMounts:
|
||||
- mountPath: /backups/postgres
|
||||
subPath: postgres
|
||||
name: backup
|
||||
hostNetwork: true
|
||||
restartPolicy: Never
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
operator: Exists
|
||||
volumes:
|
||||
- name: backup
|
||||
persistentVolumeClaim:
|
||||
claimName: backups-nfs-pvc
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: backups-nfs
|
||||
spec:
|
||||
capacity:
|
||||
storage: 100Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
server: 192.168.1.4
|
||||
path: "/backups"
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
namespace: "default"
|
||||
name: "backups-nfs-pvc"
|
||||
spec:
|
||||
storageClassName: ""
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
Reference in New Issue
Block a user