Skip to content

Instantly share code, notes, and snippets.

@eumel8
Created February 9, 2023 15:49
Show Gist options
  • Select an option

  • Save eumel8/cdcc11676b7bd29b6e3edc5601a1963d to your computer and use it in GitHub Desktop.

Select an option

Save eumel8/cdcc11676b7bd29b6e3edc5601a1963d to your computer and use it in GitHub Desktop.
Backup Rancher V1 Monitoring
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-project-monitoring-backup
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
volumeMode: Filesystem
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: caas-pvcbackup
name: caas-pvcbackup
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
labels:
app: caas-pvcbackup
name: caas-pvcbackup
rules:
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- get
- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
app: caas-pvcbackup
name: caas-pvcbackup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: caas-pvcbackup
subjects:
- kind: ServiceAccount
name: caas-pvcbackup
---
apiVersion: batch/v1
kind: Job
metadata:
labels:
job-name: caas-pvcbackup
name: caas-pvcbackup
spec:
backoffLimit: 1
completions: 1
parallelism: 1
template:
spec:
restartPolicy: Never
containers:
- image: mtr.devops.telekom.de/mcsps/mcsps-tools:latest
imagePullPolicy: Always
name: pvcbackup
command: ["sh"]
args: ["-c","rsync -av /grafana /backup && kubectl get configmaps -o yaml > /backup/configmaps.yaml && kubectl get secrets --field-selector type=Opaque -o yaml > /backup/secrets.yaml && exit 0"]
volumeMounts:
- name: grafana
mountPath: /grafana
- name: backup
mountPath: /backup
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 750m
memory: 512Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsUser: 472
runAsGroup: 472
securityContext:
fsGroup: 1000
supplementalGroups:
- 472
serviceAccount: caas-pvcbackup
volumes:
- name: grafana
persistentVolumeClaim:
claimName: grafana-project-monitoring
- name: backup
persistentVolumeClaim:
claimName: grafana-project-monitoring-backup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment