Skip to main content
NetApp virtualization solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

Red Hat OpenShift 虛擬化災難復原的目標叢集設定

貢獻者 banum-netapp

本節提供關於使用 NetApp Trident Protect 和 AppMirror 設定用於 OpenShift Virtualization 工作負載災難復原之目標叢集的資訊。這包括使用 ONTAP S3 建立 AppVault,以及為目的地 VM 建立新的命名空間。這些步驟對於確保正確設定目的地叢集以接收來自來源叢集的複寫資料,並在發生災難時啟用 VM 復原至關重要。

  1. 在目標叢集中建立 AppVault 物件。此物件應指向與來源叢集相同的 S3,以便從來源叢集存放快照的 S3 中取得快照。

    顯示範例
    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

    trident-protect 命名空間中的 OCP-v AppVault

  2. 在目標叢集上建立一個新的命名空間,用於託管故障轉移的虛擬機器。在目標叢集中建立一個應用程式,該應用程式引用步驟 1 中建立的 AppVault 和新命名空間。此應用程式將用於建立來源叢集和目標叢集之間的 AppMirror 關係,並管理從來源叢集到目標叢集的資料複製。

    顯示範例
    # 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>