Skip to main content
NetApp public and hybrid cloud solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

あるクラスターから別のクラスターにアプリを移行する

共同作成者 kevin-hoke

Velero のバックアップおよび復元機能は、クラスター間でデータを移行するための貴重なツールになります。このセクションでは、あるクラスターのオブジェクト ストレージにアプリのバックアップを作成し、同じオブジェクト ストレージから別のクラスターにアプリを復元することで、あるクラスターから別のクラスターにアプリを移行する方法について説明します。 。

最初のクラスターからのバックアップ

クラスター 1 の前提条件

  • クラスターにTridentをインストールする必要があります。

  • トライデント バックエンドとストレージ クラスを作成する必要があります。

  • OADP オペレータをクラスターにインストールする必要があります。

  • DataProtectionApplication を構成する必要があります。

DataProtectionApplication オブジェクトを構成するには、次の仕様を使用します。

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'false'
          profile: default
          region: us-east-1
          s3ForcePathStyle: 'true'
          s3Url: 'https://10.61.181.161'
        credential:
          key: cloud
          name: ontap-s3-credentials
        default: true
        objectStorage:
          bucket: velero
          caCert: <base-64 encoded tls certificate>
          prefix: container-backup
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - csi
        - openshift
        - aws
        - kubevirt
  • クラスター上にアプリケーションを作成し、このアプリケーションのバックアップを取得します。例として、postgres アプリケーションをインストールします。

postgresアプリをインストールする

  • バックアップ CR には次の仕様を使用します。

spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: false
  includedNamespaces:
    - postgresql
  itemOperationTimeout: 4h0m0s
  snapshotMoveData: true
  storageLocation: velero-sample-1
  ttl: 720h0m0s

postgresアプリをインストールする

すべてのインスタンス タブをクリックすると、さまざまなオブジェクトが作成され、さまざまなフェーズを経て最終的にバックアップが 完了 フェーズに到達する様子を確認できます。

名前空間 postgresql 内のリソースのバックアップは、OADP 仕様の backupLocation で指定されたオブジェクト ストレージの場所 (ONTAP S3) に保存されます。

2番目のクラスターに復元する

クラスター 2 の前提条件

  • Trident はクラスター 2 にインストールする必要があります。

  • postgresql アプリは postgresql 名前空間にまだインストールされていない必要があります。

  • OADP オペレータはクラスター 2 にインストールする必要があり、BackupStorage Location は最初のクラスターからバックアップが保存されたのと同じオブジェクト ストレージの場所を指している必要があります。

  • バックアップ CR は 2 番目のクラスターから見える必要があります。

トライデントを設置

postgresがまだインストールされていない

クラスタ2にOADPがインストール済み

同じオブジェクト ストアを指すバックアップ ストレージの場所

このクラスター上のアプリをバックアップから復元します。次の yaml を使用して復元 CR を作成します。

apiVersion: velero.io/v1
kind: Restore
apiVersion: velero.io/v1
metadata:
  name: restore
  namespace: openshift-adp
spec:
  backupName: backup
  restorePVs: true

復元が完了すると、postgresql アプリがこのクラスター上で実行されており、pvc および対応する pv に関連付けられていることがわかります。アプリの状態はバックアップを取ったときと同じです。

成功を回復する

postgresの移行