Please note: This project is currently under active development.
Handling backup from various storages.
A Kubernetes operator for backing up various storages, including Etcd, based on gobackup.
- go version v1.20.0+
- docker version 17.03+.
- kubectl version v1.11.3+.
- Access to a Kubernetes v1.11.3+ cluster.
Install the CRDs into the cluster:
make install
Create instances of database and storage
kubectl apply -k example/gobackup-opetator-database/*
kubectl apply -k example/gobackup-opetator-storage/*
Create a test database deployment
kubectl apply -k example/gobackup-opetator-postgres-deployment.yaml
Create environment with required access
kubectl apply -k example/gobackup-opetator-clusterrole.yaml
kubectl apply -k example/gobackup-opetator-clusterrolebinding.yaml
kubectl apply -k example/gobackup-opetator-namespace.yaml
kubectl apply -k example/gobackup-opetator-pvc.yaml
kubectl apply -k example/gobackup-opetator-service.yaml
kubectl apply -k example/gobackup-opetator-serviceaccount.yaml
Deploy the Operator
kubectl apply -k example/gobackup-opetator-deployment.yaml
Create model and backup instances
This will trigger the Operator to run a backup command
kubectl apply -k example/gobackup-opetator/gobackup-opetator-backupmodel.yaml
kubectl apply -k example/gobackup-opetator/gobackup-opetator-backup.yaml
Delete the instances (CRs) from the cluster:
kubectl delete -k example/*
Delete the APIs(CRDs) from the cluster:
make uninstall
Just create a new branch (feature-{branch-name}) and push.
When you finish your work, please send a PR.
MIT