This set of roles allow to backup Openshift project resources and volume data using Velero, Restic and Noobaa Operator in a disconnected environment without OLM. Noobaa can be connected to an external s3 service provider such as AWS S3 or Azure Blob Storage. Minio Operator can be installed as well as an example failover HA backing store to Noobaa or as a stand alone S3 service. This repository contains the accompanying code and example for the following blog post:
https://www.openshift.com/blog/hybrid-cloud-disaster-recovery-on-openshift
Openshift v4.9, Linux or MacOS, Python3 and make. All the container images in this repository are public. In order to use this playbook in a disconnected environment without OLM they will have to be tagged and pushed to an internal registry. The ansible variables referring to those images will need to be adapted accordingly.
kubernetes and openshift python modules. See requirements.txt
.
$ oc login https://api.cluster.example.net:8443 --token=${token}
$ export STORAGE_CLASS=exampleStorageClass
$ make install
$ make uninstall
-
No SSH access is required to the cluster nodes.
-
Any http_proxy configuration will have to be done manually, either for pip configuration or access to an internal registry.
The following env vars can be exported while testing the playbooks manually.
K8S_AUTH_VERIFY_SSL=False
K8S_AUTH_API_KEY={{ openshift_token }}
K8S_AUTH_HOST={{ https://openshift_api_url:6443 }}
Noobaa DB requires at least 2 Core and 4Gib RAM available to bootstrap properly.
If the pod does not start, noobaa-core will fail to connect to it and the installation will fail.