Target Cluster Setup for Red Hat OpenShift Virtualization Disaster Recovery
This section provides information about setting up the target cluster for disaster recovery of OpenShift Virtualization workloads using NetApp Trident Protect and AppMirror. This includes creating an AppVault using ONTAP S3 and creating a new namespace for the destination VM. These steps are essential to ensure that the destination cluster is properly configured to receive replicated data from the source cluster and enable recovery of VMs in case of a disaster.
-
Create an AppVault Object in the destination cluster. This should point to the same S3 as the source so that it can get the snapshot from the S3 where the source cluster placed it.
Show example
apiVersion: v1 # You can provide the keys either as stringData or base 64 encoded data stringData: accessKeyID: "<access key id as obtained from ONTAP>" secretAccessKey: "<secret access key as obtained from ONTAP>" #data: #accessKeyID: <base 64 encoded value of access key> #secretAccessKey: <base 64 encoded value of secret access key> kind: Secret metadata: name: appvault-secret namespace: trident-protect type: OpaqueapiVersion: protect.trident.netapp.io/v1 kind: AppVault metadata: name: ontap-s3-appvault namespace: trident-protect spec: providerConfig: s3: bucketName: oc-dr endpoint: <data lif to use to access S3> secure: "false" # Setting this to "false" will disable TLS, which is not recommended for production skipCertValidation: "true" # When TLS is enabled, setting skipCertValidation to "true" will skip TLS certificate validation, which is not recommended for production environments. providerCredentials: accessKeyID: valueFromSecret: key: accessKeyID name: appvault-secret secretAccessKey: valueFromSecret: key: secretAccessKey name: appvault-secret providerType: OntapS3oc create -f app-vault-secret.yaml -n trident-protect oc create -f app-vault.yaml -n trident-protect
-
Create a new namespace on the destination cluster to host the failed over VM. Create an App in the destination cluster that references the AppVault created in step 1 and the new namespace. This App will be used to establish the AppMirror relationship between the source and destination cluster, and to manage the replication of data from the source cluster to the destination cluster.
Show example
# cat app.yaml apiVersion: protect.trident.netapp.io/v1 kind: Application metadata: creationTimestamp: null name: test-dest-app namespace: test-dr-ns-dest spec: includedNamespaces: - namespace: test-dr-ns-desttridentctl-protect create app <dest-app-name> -n <dest-ns> --namespaces <dest-ns>