This is the multi-page printable view of this section. Click here to print.
Installation
1 - Preparing to install
Pre-requirements
Get familiarized with the architecture reading this section.
A valid Disaster Recovery Operator license key and registry access key should already be assigned.
Supported platforms
Astronetes Disaster Recovery Operator is vendor agnostic meaning that any Kubernetes distribution such as Google Kubernetes Engine, Azure Kubernetes Service, OpenShift or self-managed bare metal installations can run it.
This is the certified compatibility matrix:
| Platform | Min Version | Max Version |
|---|---|---|
| AKS | 1.24 | 1.29 |
| EKS | 1.24 | 1.28 |
| GKE | 1.24 | 1.28 |
| OpenShift Container Platform | 4.11 | 4.14 |
Software
Official kubernetes.io client CLI kubectl.
Networking
- Allow traffic to the Image Registry quay.io/astrokube using the mechanism provided by the chosen distribution.
- In a 3-clusters architecture, the management cluster needs to have communication with both the destination and source cluster. Note that it is not necessary to also allow connections between the target clusters. Due to the lack of a centralised management cluster, in a 2-clusters architecture communication between destination and source should be enabled.
Cluster configuration
- Cluster admin permission in management, destination and source clusters. In a 2-clusters architecture it is only required to have admin permissions in the destination and source clusters as the operator activities will be delegated to the former.
- The Secret provided by AstroKube to access the Image Registry.
- The Secret provided by AstroKube with the license key.
Software
Networking
- Add quay.io/astrokube to the allowed registries in the Image configuration.
- In a 3-clusters architecture, the management cluster needs to have communication with both the destination and source cluster. Note that it is not necessary to also allow connections between the target clusters. Due to the lack of a centralised management cluster, in a 2-clusters architecture communication between destination and source should be enabled.
apiVersion: config.openshift.io/v1
kind: Image
metadata:
...
spec:
registrySources:
allowedRegistries:
...
- quay.io/astrokube
Cluster configuration
- Cluster admin permission in management, destination and source clusters. In a 2-clusters architecture it is only required to have admin permissions in the destination and source clusters as the operator activities will be delegated to the former.
- The Secret provided by AstroKube to access the Image Registry.
- The Secret provided by AstroKube with the license key.
2 - Installing on Kubernetes
The following operations need to executed in both the management and destination cluster.
Prerequirements
It is necessary that the cluster has cert-manager already installed.
Process
1. Create Namespace
Create the Namespace where the operator will be installed:
kubectl create namespace astronetes-disaster-recovery-operator
2. Setup registry credentials
Create the Secret that stores the credentials to the AstroKube image registry:
kubectl -n astronetes-disaster-recovery-operator create -f pull-secret.yaml
3. Setup license key
Although the operator can be installed without a license key, pods originating from Astronetes CRDs such as Recovery Plans will crash. If the installation was performed before obtaining a valid license key, it can be updated as described in this section.
Create the Secret that stores the license key:
kubectl -n astronetes-disaster-recovery-operator create -f license-key.yaml
4. Install the operator
Install the CRDs:
kubectl apply -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/crds.yaml
Install the operator:
kubectl -n astronetes-disaster-recovery-operator apply -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/operator-k8s.yaml
3 - Installing on OpenShift
The following operations need to executed in both the management and destination cluster.
Process
1. Create Namespace
Create the Namespace where the operator will be installed:
oc create namespace astronetes-disaster-recovery-operator
2. Setup registry credentials
Create the Secret that stores the credentials to the AstroKube image registry:
oc -n astronetes-disaster-recovery-operator create -f pull-secret.yaml
3. Setup license key
Although the operator can be installed without a license key, pods originating from Astronetes CRDs such as Recovery Plans will crash. If the installation was performed before obtaining a valid license key, it can be updated as described in this section.
Create the Secret that stores the license key:
oc -n astronetes-disaster-recovery-operator create -f license-key.yaml
4. Install the operator
Install the CRDs:
oc apply -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/crds.yaml
Install the operator:
oc -n astronetes-disaster-recovery-operator apply -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/operator-openshift.yaml
4 - Uninstalling on Kubernetes
Process
1. Delete Operator objects
Delete the resources in the destination cluster:
kubectl delete recoveryexecutionjobs -A --all
Delete the recovery plans in the management cluster:
kubectl delete recoveryplans -A --all
Delete the managed clusters and recovery buckets in the management cluster:
kubectl delete managedclusters,recoverybuckets -A --all
2. Remove the operator
Delete the operator:
kubectl -n astronetes-disaster-recovery-operator delete -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/operator.yaml
Delete the CRDs:
kubectl delete -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/crds.yaml
3. Remove registry credentials
Delete the Secret that stores the credentials to the AstroKube image registry:
kubectl -n astronetes-disaster-recovery-operator delete -f pull-secret.yaml
4. Remove license key
Delete the Secret that stores the license key:
kubectl -n astronetes-disaster-recovery-operator delete -f license-key.yaml
5 - Uninstalling on OpenShift
Process
1. Delete Operator objects
Delete the resources in the destination cluster:
oc delete recoveryexecutionjobs -A --all
Delete the recovery plans in the management cluster:
oc delete recoveryplans -A --all
Delete the managed clusters and recovery buckets in the management cluster:
oc delete managedclusters,recoverybuckets -A --all
2. Remove the operator
Delete the operator:
oc -n astronetes-disaster-recovery-operator delete -f https://astronetes.io/deploy/disaster-recovery-operator/v0.10.1/operator.yaml
Delete the CRDs:
oc delete -f https://astronetes.io/deploy/disaster-recovery-operator/v0.11.0/crds.yaml
3. Remove registry credentials
Delete the Secret that stores the credentials to the AstroKube image registry:
oc -n astronetes-disaster-recovery-operator delete -f pull-secret.yaml
4. Remove license key
Delete the Secret that stores the license key:
oc -n astronetes-disaster-recovery-operator delete -f license-key.yaml