initial commit

This commit is contained in:
Gilles Mouchet 2023-03-19 10:26:00 +01:00
commit dab343ab62
5 changed files with 103 additions and 0 deletions

37
README.md Normal file
View File

@ -0,0 +1,37 @@
# Velero
## Installation
### kube-velero-secret
```
helm upgrade kube-backups ./kube-backups \
--install \
--atomic \
--cleanup-on-fail \
--values=./kube-backups/velero-kube-values.yaml \
--namespace velero \
--create-namespace
```
## Velero
```
helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts/
helm repo update
helm search repo vmware-tanzu
helm show values vmware-tanzu/velero
helm upgrade velero vmware-tanzu/velero \
--install \
--atomic \
--cleanup-on-fail \
--values=velero-values.yaml \
--namespace velero \
--create-namespace
```
## Désinstallation
helm uninstall velero -n velero
helm uninstall kube-backups -n velero
## Changelog
### v1.0 - 2023-02-19 - GMo
- Version initiale

24
kube-backups/Chart.yaml Normal file
View File

@ -0,0 +1,24 @@
apiVersion: v2
name: kubebackups
description: Secret for kubernetes backup
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.0.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.0.0"

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Secret
metadata:
name: kube-velero-secret
namespace: velero
type: Opaque
stringData:
cloud: |
[default]
aws_access_key_id={{ required ".Values.data.awsAccessKey entry is required!" .Values.data.awsAccessKey }}
aws_secret_access_key={{ required ".Values.data.awsSecretAccessKey entry is required!" .Values.data.awsSecretAccessKey }}

View File

@ -0,0 +1,3 @@
data:
awsSecretAccessKey: Pa55w0rd
awsAccessKey: k8s-user

28
velero-values.yaml Normal file
View File

@ -0,0 +1,28 @@
snapshotsEnabled: false
configuration:
provider: aws
backupStorageLocation:
name: default
bucket: longhorn
config:
s3Url: http://10.10.10.94:9000/
#s3Url: http://multi-srvc.gmotech.net:9000/
s3ForcePathStyle: true
region: minio
credentials:
existingSecret: kube-velero-secret
schedules:
globalbackup:
disabled: false
schedule: "10 * * * *" # toutes les minutes 10 (01:10, 02:10, xx:10).
template:
ttl: "168h" # retention de la sauvegarde (168h / 24 = 7 jours)
metrics:
serviceMonitor:
enabled: false
initContainers:
- name: velero-plugin-for-aws
image: velero/velero-plugin-for-aws:v1.5.0
volumeMounts:
- mountPath: /target
name: plugins