Added zammad-backup und s3 sync
This commit is contained in:
parent
3efca6cd8b
commit
5a8fbbd8e0
@ -34,6 +34,20 @@ metadata:
|
|||||||
namespace: zammad
|
namespace: zammad
|
||||||
annotations:
|
annotations:
|
||||||
volume.beta.kubernetes.io/storage-class: standard
|
volume.beta.kubernetes.io/storage-class: standard
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10G
|
||||||
|
---
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: zammad-backup
|
||||||
|
namespace: zammad
|
||||||
|
annotations:
|
||||||
|
volume.beta.kubernetes.io/storage-class: standard
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
|
7
kubernetes/20_configmap_backup.yaml
Normal file
7
kubernetes/20_configmap_backup.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: zammad-backup
|
||||||
|
namespace: zammad
|
||||||
|
data:
|
||||||
|
S3_PATH: s3://BUCKET_NAME/
|
9
kubernetes/30_secret_backup.yaml
Normal file
9
kubernetes/30_secret_backup.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: zammad-backup-s3
|
||||||
|
namespace: zammad
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
ACCESS_KEY: 'bash ACCESS_KEY | base64'
|
||||||
|
SECRET_KEY: 'bash SECRET_KEY | base64'
|
38
kubernetes/56_statefulset_backup.yaml
Normal file
38
kubernetes/56_statefulset_backup.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
apiVersion: apps/v1beta1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: zammad-backup
|
||||||
|
namespace: zammad
|
||||||
|
labels:
|
||||||
|
component: backup
|
||||||
|
app: zammad
|
||||||
|
spec:
|
||||||
|
serviceName: zammad-backup
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
component: backup
|
||||||
|
app: zammad
|
||||||
|
spec:
|
||||||
|
terminationGracePeriodSeconds: 10
|
||||||
|
volumes:
|
||||||
|
- name: zammad-home
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: zammad-home
|
||||||
|
- name: zammad-backup
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: zammad-backup
|
||||||
|
containers:
|
||||||
|
- name: zammad-backup
|
||||||
|
image: zammad/zammad-docker-compose:zammad-postgresql
|
||||||
|
command:
|
||||||
|
- /usr/local/bin/backup.sh
|
||||||
|
args:
|
||||||
|
- zammad-backup
|
||||||
|
imagePullPolicy: Always
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /home/zammad
|
||||||
|
name: zammad-home
|
||||||
|
- mountPath: /var/tmp/zammad
|
||||||
|
name: zammad-backup
|
51
kubernetes/60_cronjob_backup.yaml
Normal file
51
kubernetes/60_cronjob_backup.yaml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
apiVersion: batch/v1beta1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: zammad-backup
|
||||||
|
namespace: zammad
|
||||||
|
labels:
|
||||||
|
component: cronjob
|
||||||
|
app: backup
|
||||||
|
spec:
|
||||||
|
failedJobsHistoryLimit: 0
|
||||||
|
successfulJobsHistoryLimit: 0
|
||||||
|
concurrencyPolicy: Forbid
|
||||||
|
schedule: "0 0 * * *"
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
component: cronjob
|
||||||
|
app: backup
|
||||||
|
spec:
|
||||||
|
volumes:
|
||||||
|
- name: zammad-backup
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: zammad-backup
|
||||||
|
containers:
|
||||||
|
- name: zammad-backup-s3
|
||||||
|
imagePullPolicy: Always
|
||||||
|
image: robbydooo/docker-backup-to-s3
|
||||||
|
args:
|
||||||
|
- "/start.sh"
|
||||||
|
- "no-cron"
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: zammad-backup
|
||||||
|
env:
|
||||||
|
- name: ACCESS_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: zammad-backup-s3
|
||||||
|
key: ACCESS_KEY
|
||||||
|
- name: SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: zammad-backup-s3
|
||||||
|
key: SECRET_KEY
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data
|
||||||
|
name: zammad-backup
|
||||||
|
restartPolicy: OnFailure
|
@ -4,4 +4,20 @@
|
|||||||
|
|
||||||
- On every node you need to set `sysctl -w vm.max_map_count=262144`
|
- On every node you need to set `sysctl -w vm.max_map_count=262144`
|
||||||
- Change the ingress to your needs.
|
- Change the ingress to your needs.
|
||||||
- Hit `kubectl apply -f ./` and wait till everything is setup.
|
|
||||||
|
## Amazon S3 Backup
|
||||||
|
|
||||||
|
If you want to be synced with a S3 bucket, then just fill the `30_secret_backup.yaml` with your secret and access keys.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo -n "ACCESS_KEY" | base64
|
||||||
|
echo -n "SECRET_KEY" | base64
|
||||||
|
```
|
||||||
|
|
||||||
|
Change the bucket path in the `20_configmap_backup.yaml`.
|
||||||
|
|
||||||
|
That's it.
|
||||||
|
|
||||||
|
## Deploy zammad
|
||||||
|
|
||||||
|
Hit `kubectl apply -f ./` and wait till everything is setup.
|
Loading…
Reference in New Issue
Block a user