Skip to main content
NetApp virtualization solutions

Target Cluster Setup for Red Hat OpenShift Virtualization Disaster Recovery

Contributors banum-netapp

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.

  1. 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: Opaque
    apiVersion: 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: OntapS3
    oc create -f app-vault-secret.yaml -n trident-protect
    oc create -f app-vault.yaml -n trident-protect

    OCP-v AppVault in trident-protect namespace

  2. 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-dest
    tridentctl-protect create app <dest-app-name> -n <dest-ns> --namespaces <dest-ns>