Velero Plugin for vSphere を使用して vSphere ポッド で実行されているワークロードをバックアップおよびリストアするには、スーパーバイザーVelero Plugin for vSphere をインストールします。

概要

Velero Plugin for vSphere は、vSphere with Tanzu ワークロードをバックアップおよびリストアするためのソリューションを提供します。このソリューションを使用するには、いくつかのコンポーネントをインストールして構成する必要があります。スーパーバイザーVelero Plugin for vSphere をインストールして構成すると、vSphere ポッド をバックアップおよびリストアできるようになります。パーシステント ワークロードの場合は、Velero Plugin for vSphere でパーシステント ボリュームのスナップショットを作成できます。

Velero Plugin for vSphere を使用して Tanzu Kubernetes クラスタ ワークロードをバックアップおよびリストアする場合も、 スーパーバイザーVelero Plugin for vSphere をインストールすることが前提条件となります。
注: Velero Plugin for vSphere を使用して スーパーバイザー の状態をバックアップおよびリストアすることはできません。 vSphere with Tanzu のバックアップとリストアに関する考慮事項を参照してください。
注: Velero Plugin for vSphere は、単独では増分バックアップを実行しません。Dell EMC PowerProtect は増分バックアップをサポートし、Velero と Velero Plugin for vSphere を利用します。

前提条件

Velero Plugin for vSphere をインストールする前に、次の前提条件を満たす必要があります。
  • スーパーバイザー がバージョン 1.21.1 以降である。
  • vSphere 名前空間 が作成され、構成されている。
  • vSphere 管理者ロールのメンバーであるか、次の vSphere 権限を持っている必要がある。
    • SupervisorServices.Manage
    • Namespaces.Manage
    • Namespaces.Configure
このスクリーンショットは、 Velero Plugin for vSphere インストールの終了状態を示しています。
  • NSX ネットワークは、vSphere ポッド のデプロイをサポートするために使用されている
  • Data Manager 仮想マシンがデプロイされている
  • Velero Operator が有効で、velero-vsphere-domain-cXX 名前空間で実行されている
  • velero という名前空間が構成されている
  • Velero Plugin for vSpherevelero 名前空間内で vSphere ポッド として実行されている

このスクリーンショットは vSphere Client での Velero プラグインを示しています。

アップグレード

ここに示す手順では、vSphere 8 を実行していることが前提となります。Velero Plugin for vSphere を vSphere 7 U3 環境にすでにインストールしている場合は、アップグレード時に Data Manager 仮想マシンと [Velero vSphere Operator] が新しいフレームワークに移行されます。[Velero vSphere Operator] は、新しい vSphere サービス形式に変換されます。アクションは不要です。

バックアップおよびリストア トラフィック専用ネットワークの作成(オプション)

本番環境でバックアップ トラフィックとリストア トラフィックを vSphere with Tanzu 管理ネットワーク トラフィックから分離することは、必須ではありませんが、推奨です。この操作には、2 つの側面があります。
  • ネットワーク ファイル コピー (NFC) をサポートする ESXi ホストにタグを付ける
  • NSX-T Data Center を使用してバックアップおよびリストア ネットワークを構成する

専用ネットワーク ブロック デバイス (NBD) の転送をサポートするように vSphere 8 ESXi ホストを構成するには、ワークロード管理が有効になっている vSphere クラスタ内の各 ESXi ホストに VMkernel NIC を追加して、その NIC に vSphereBackupNFC を設定します。タグ vSphereBackupNFC を VMkernel アダプタの NIC タイプに適用すると、バックアップ トラフィックとリストア トラフィックは選択した仮想 NIC を経由するようになります。

この構成を実行するには、Virtual Disk Development Kit を使用します。 NBD のドキュメントを参照してください。
注: vSphereBackupNFC が VMkernel NIC で有効でない場合は、バックアップとリストアのネットワークが構成されているときでも、バックアップとリストアのトラフィックはこれらのネットワークを経由しません。 vSphereBackupNFC が有効でない場合、トラフィックは vSphere 管理ネットワークを経由します。
vSphereBackupNFC タグを有効にしたら、クラスタの既存の vSphere Distributed Switch (vDS) を次のように更新して、NSX-T を使用してバックアップおよびリストア ネットワークを構成します。
  • vSphere Client[メニュー] > [ネットワーク] の順に選択します。
  • クラスタの既存の Distributed Switch を選択します。
  • Distributed Switch を右クリックして、[分散ポート グループ] > [新規分散ポート グループ] の順に選択します。
  • [BackupRestoreNetwork] という名前の新しい分散ポート グループを作成します。
  • [BackupRestoreNetwork] 分散ポート グループに VMkernel アダプタを追加します。
  • ワークロード管理が有効になっている vCenter Server クラスタ内のすべての ESXi ホストを [BackupRestoreNetwork] 分散ポート グループに接続します。
  • vSphereBackupNFC タグを有効にします。

既存の Distributed Switch に NSX ネットワークを作成する方法については、vSphere with Tanzu で使用する NSX のインストールと構成を参照してください。

S3 互換オブジェクト ストアの作成

パーシステント ボリュームのバックアップおよびリストアを行うには、S3 互換オブジェクト ストアを指定する必要があります。Velero は、複数のオブジェクト ストア プロバイダをサポートしています。

Velero Plugin for vSphere をインストールするには、S3 互換オブジェクト ストアに関する次の情報を指定する必要があります。

データ項目 値の例
s3Url http://my-s3-store.example.com
aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
次の情報を使用して、 s3-credentials という名前のシークレット ファイルを作成します。このファイルは、 Velero Plugin for vSphere をインストールするときに参照します。
[default]
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

MinIO は、インストールと使用が容易な S3 互換オブジェクト ストアです。vSphere with Tanzu には、ユーザーが有効にできる MinIO スーパーバイザー サービスが付属しています。詳細については、vSphere with Taznu でのステートフル サービスの有効化を参照してください。

Linux 仮想マシンに MinIO サーバを手動でインストールすることもできます。手順については、スーパーバイザー上の TKG 2 クラスタへのスタンドアローン Velero と Restic のインストールと構成を参照してください。

Data Manager のインストールと構成

Velero Plugin for vSphere を使用してバックアップとリストアを容易にするには、1 台以上の Data Manager 仮想マシンをデプロイして、S3 互換オブジェクト ストレージとの間でパーシステント ボリューム バックアップ データを移動します。Data Manager は、バックアップ時には vSphere ボリュームから耐久性のあるリモート S3 互換ストレージにボリューム スナップショット データを移動し、リストア時にはリモート S3 互換ストレージから vSphere ボリュームに移動します。

vSphere with Tanzu 環境で、Data Manager を仮想マシンとしてインストールします。
注: Velero vSphere Operator を有効にするまで、Data Manager 仮想マシンをパワーオンしないでください。
  1. Data Manager OVA をダウンロードします。

    https://vsphere-velero-datamgr.s3-us-west-1.amazonaws.com/datamgr-ob-17253392-photon-3-release-1.1.ova

  2. vSphere Client を使用して、ワークロード管理が有効になっている [データセンター] を右クリックし、[OVF テンプレートのデプロイ] を選択します。
  3. ダウンロードした Data Manager OVA ファイルを選択して、vCenter Server にアップロードします。
  4. たとえば、仮想マシンに DataManager という名前を付けます。
  5. コンピューティング リソースとして、スーパーバイザー が構成されている vSphere クラスタを選択します。
  6. 仮想マシンのデプロイの詳細を確認し、[次へ] をクリックします。
  7. 使用許諾契約書を承諾して、[次へ] をクリックします。
  8. ストレージを選択して、[次へ] をクリックします。
  9. Data Manager 仮想マシンのターゲット ネットワークを選択します。
  10. 選択内容を確認し、[終了] をクリックしてプロセスを完了します。
  11. [最近のタスク] パネルを使用して、デプロイの進行状況を監視します。
    注: 「OVF 記述子が利用できません。」というエラーが表示される場合は、Chrome ブラウザを使用します。
  12. Data Manager 仮想マシンがデプロイされたら、仮想マシンの入力パラメータを構成します。
  13. 仮想マシンを右クリックして、[設定の編集] を選択します。
  14. [仮想ハードウェア] タブで、[CD/DVD ドライブ] を [ホスト デバイス] から [クライアント デバイス] に変更します。
    注: この操作を行わないと、必要な詳細設定を保存できません。
  15. [設定の編集] > [仮想マシン オプション] タブで [詳細] > [構成パラメータの編集] の順に選択します。
  16. 次の各設定の入力パラメータを構成します。
    パラメータ
    guestinfo.cnsdp.vcUser 仮想マシンのデプロイに必要な権限を持っている vCenter Server ユーザーの名前を入力します。
    guestinfo.cnsdp.vcAddress vCenter Server IP アドレスまたは FQDN を入力します。
    guestinfo.cnsdp.vcPasswd vCenter Serverユーザー パスワードを入力します。
    guestinfo.cnsdp.vcPort デフォルトは 443 です。この値は変更しないでください。
    guestinfo.cnsdp.wcpControlPlaneIP スーパーバイザー の IP アドレスを入力します。

    この値を取得するには、ワークロード管理 が有効になっている vCenter Server クラスタに移動して、[構成] > [名前空間] > [ネットワーク] > [管理ネットワーク] > [開始 IP アドレス] の順に選択します。

    guestinfo.cnsdp.updateKubectl デフォルトは false です。この値は変更しないでください。
    guestinfo.cnsdp.veleroNamespace デフォルトは velero です。変更する理由が特にない限り、そのままにします。プロセスの後半で、スーパーバイザー クラスタに velero という名前の vSphere 名前空間を作成します。これらの名前が一致する必要があります。
    guestinfo.cnsdp.datamgrImage 構成されていない(未設定の)システムでは、デフォルトで、vsphereveleroplugin/data-manager-for-plugin:1.1.0 にある Docker ハブからコンテナ イメージが取得されます。
  17. [OK] をクリックして構成を保存し、もう一度 [OK] をクリックして仮想マシンの設定を保存します。
    注: [CD/DVD ドライブ] を [ホスト デバイス] から [クライアント デバイス] に変更しなかった場合は、設定を保存できません。この場合は、操作をキャンセルしてドライブを変更し、詳細設定を繰り返します。
  18. Velero vSphere Operator を有効にするまで(次のセクションまで)、Data Manager 仮想マシンをパワーオンしないでください。

スーパーバイザー への Velero vSphere Operator サービスのインストール

vSphere with Tanzu は、スーパーバイザー サービス として Velero vSphere Operator を提供します。Velero vSphere Operator サービスは Velero Plugin for vSphere と連携して、パーシステント ボリュームのスナップショット作成など、Kubernetes ワークロードのバックアップとリストアをサポートします。スーパーバイザー サービス の詳細については、vSphere with Tanzu を使用したスーパーバイザー サービスの管理を参照してください。

次の操作を実行して、 [Velero vSphere Operator] の仕様を [ワークロード管理] が有効になっている vCenter Server に登録し、 [Velero vSphere Operator]スーパーバイザー にサービスとしてインストールします。
注: [Velero vSphere Operator]vSphere ポッド として実行されるため、NSX-T ネットワークが必要です。
  1. 次の場所から [Velero vSphere Operator] の YAML をダウンロードします。

    http://vmware.com/go/supervisor-service

    サービス仕様ファイルの名前は、velero-supervisorservice-1.0.0.yaml です。

  2. vSphere Client ホーム メニューから、[ワークロード管理] を選択します。
  3. [サービス] タブを選択します。
  4. 上部のドロップダウン メニューからターゲット vCenter Server インスタンスを選択します。
  5. ダウンロードしたサービス仕様ファイル velero-supervisorservice-1.0.0.yaml[サービスの新規追加] カードにドラッグ アンド ドロップします。

    [追加] をクリックし、velero-supervisorservice-1.0.0.yaml ファイルを参照して選択することもできます。

  6. [次へ] をクリックして、使用許諾契約書に同意します。
  7. [終了] をクリックします。

    [Velero vSphere Operator]vCenter Server に登録されています。サービスが [有効] な状態になっていることを確認します。サービスが非アクティブな状態になっている場合は、インストールできません。

  8. [サービス] タブで [Velero vSphere Operator] の仕様を見つけます。
  9. [アクション] > [スーパーバイザーへのインストール] の順にクリックします。
  10. サービスをインストールするターゲット スーパーバイザー を選択します。
    注: スーパーバイザー が表示されない場合は、NSX ネットワークを使用していることを確認します。
  11. 次のように、[Velero vSphere Operator] サービスのインストールを構成します。
    1. ドロップダウンからバージョン [1.1.0] を選択します。
    2. [リポジトリ エンドポイント] を指定しないでください。
    3. ユーザー名またはパスワードを入力しないでください。
    4. [次へ] をクリックします。
  12. [完了] をクリックして、サービスのインストールを完了します。

スーパーバイザー[Velero vSphere Operator] サービスを確認し、Data Manager 仮想マシンを起動します。

  1. vSphere Client ホーム メニューから、[ワークロード管理] を選択します。
  2. [スーパーバイザー] タブをクリックし、[Velero vSphere Operator] をインストールした スーパーバイザー を選択します。
  3. [構成] タブをクリックし、[スーパーバイザー サービス][概要] をクリックします。
  4. [Velero vSphere Operator] がインストールされていて、ステータスが [設定済み] になっていることを確認します。
  5. [名前空間] タブに、svc-velero-vsphere-domain-xxx という名前の新しい名前空間が表示されていることを確認します。xxx は一意の英数字トークンです。これは、[Velero vSphere Operator] 用にシステムによって作成された名前空間です。
    注: この名前空間を構成する必要はありません。編集しないでください。
  6. [ホストおよびクラスタ] ビューで [Data Manager] 仮想マシンを選択します。
  7. [Data Manager] 仮想マシンを右クリックして、パワーオンします。

Velero Plugin for vSphere の vSphere 名前空間の作成

vSphere Client を使用して、 スーパーバイザーvSphere 名前空間 を手動で作成します。 Velero Plugin for vSphere を使用するには、この名前空間が必要です。ガイダンスについては、 vSphere 名前空間の作成と構成を参照してください。
  • 名前空間に velero という名前を付けます。
  • [velero] 名前空間を選択して、構成します。
  • [velero] 名前空間のストレージを指定します。
  • 適切な権限を持つユーザーに、[velero] 名前空間に対する編集権限を付与します。

Velero Plugin for vSphere のインストール

これで、 Velero Plugin for vSphere をインストールする準備ができました。インストールするには、 [velero-vsphere] CLI をダウンロードして実行します。
注: この手順には Linux 仮想マシンが必要です。 kubectl-vspherekubectl CLI を実行する Linux ジャンプ ホストに [velero-vsphere] をダウンロードして、実行する必要があります。
  1. この CLI を実行できる Linux 仮想マシンを作成します。または、既存の Linux ジャンプ ホストを使用して スーパーバイザー にアクセスします。
  2. 次の場所から Velero Plugin for vSphere CLI をダウンロードします。

    https://github.com/vmware-tanzu/velero-plugin-for-vsphere/releases/download/v1.1.0/velero-vsphere-1.1.0-linux-amd64.tar.gz

  3. CLI を Linux ジャンプ ホストに安全にコピーします。例:
    pscp -P 22 C:\temp\velero-vsphere-1.1.0-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
  4. velero-vsphere CLI を抽出して、書き込み可能にします。
    tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz
    chmod +x velero-vsphere
  5. 次の内容の s3-credentials ファイルを作成します。
    aws_access_key_id = ACCESS-KEY-ID-STRING
    aws_secret_access_key = SECRET-ACCESS-KEY-STRING
  6. S3 互換オブジェクト ストアのリージョン、URL、バケット名を取得します。
  7. kubectl 向けの vSphere プラグイン を使用して、スーパーバイザー にログインします。
  8. コンテキストを スーパーバイザー に切り替えます。
    kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
  9. 作成した [velero] 名前空間で、Velero Plugin for vSphere をインストールするクラスタのフレーバーとして SUPERVISOR を指定する構成マップ ファイルをインストールします。
    % cat <<EOF | kubectl -n velero apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: velero-vsphere-plugin-config
    data:
      cluster_flavor: SUPERVISOR
    EOF
  10. 次の velero-vsphere CLI コマンドを実行して、[velero] 名前空間に Velero Plugin for vSphere をインストールします。

    BUCKET-NAMEREGION(2 つのインスタンス)、および s3Url フィールドのプレースホルダ値を適切な値に置き換えます。前述のいずれかの手順に従わなかった場合は、シークレット ファイルの名前や場所、手動で作成した velero 名前空間の名前などの値を調整します。

    ./velero-vsphere install \
        --namespace velero \
        --image velero/velero:v1.5.1 \
        --provider aws \
        --plugins velero/velero-plugin-for-aws:v1.1.0,vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0 \
        --bucket BUCKET-NAME \
        --secret-file s3-credentials \
        --snapshot-location-config region=REGION \
        --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
    注: たとえば、 vsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1vsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0 のように、 スーパーバイザーVelero Plugin for vSphere v1.1.0 以降を使用することができます。Velero のバージョンは、v1.5.1 ( velero/velero:v1.5.1) である必要があります。
  11. Velero Plugin for vSphere が正常にインストールされたことを確認します。
    インストールが正常に完了すると、次のメッセージが表示されます。
    Send the request to the operator about installing Velero in namespace velero
    次のコマンドを実行して、さらに確認します。「完了」と表示されて、バージョンが表示されます。
    kubectl -n velero get veleroservice default -o json | jq '.status'
    予期される結果:
    {
      "enabled": true,
      "installphase": "Completed",
      "version": "v1.5.1"
    }
    注: 上記のコマンドでは、ターミナルに送信される JSON 出力をフォーマットする jq ユーティリティがインストールされていることが前提となります。 jq がインストールされていない場合は、インストールするか、コマンドのこの部分( json 以降のすべて)を削除します。
  12. 必要に応じてトラブルシューティングを行います。

    インストールに失敗した場合は、インストールを削除して、再試行してください。インストールを削除するには、次のセクションに記載されている手順を記載されている順序で実行します。

エアギャップ環境への Velero プラグインのインストール

エアギャップ環境に Velero Plugin for vSphere をインストールする場合は、カスタマイズされたイメージとともにインストールする必要があります。カスタマイズされたイメージのうち backup-driver および data-manager-for-plugin の対応するイメージが想定されるレジストリ内にあり、Kubernetes クラスタからアクセスできることを確認する必要があります。エアギャップ環境では、Docker ハブ内のリリース済みイメージにアクセスできないため、プライベート レジストリ内にあるカスタマイズ済みイメージが使用されます。

プラグインをインストールするには、次の手順を実行します。
  1. velero-plugin-for-vspherebackup-driver、および data-manager-for-plugin のリリース済みイメージをダウンロードします。
  2. イメージの名前を変更します。つまり、対応する <Registry endpoint and path> および <Version tag> をイメージにタグ付けして、カスタマイズされたリポジトリにアップロードします。
  3. カスタマイズした velero-plugin-for-vsphere イメージを使用してプラグインをインストールします。

    vanilla クラスタに Velero Plugin for vSphere をインストールすると、backup-driver 環境と data-manager-for-plugin デーモンセットという 2 つの追加コンポーネントがバックグラウンドでデプロイされます。スーパーバイザー および Tanzu Kubernetes クラスタでは、backup-driver 環境のみがデプロイされます。

    velero-plugin-for-vsphere のコンテナ イメージを指定した場合は、イメージ解析メカニズムを使用して対応する backup-driver および data-manager-for-plugin イメージが解析されます。

    コンテナ イメージは、次のパターンの形式になります。
    <Registry endpoint and path>/<Container name>:<Version tag>

    velero-plugin-for-vsphere コンテナ イメージを指定した場合は、backup-driver および data-manager-for-plugin の対応するイメージのうち、<Registry endpoint and path> および <Version tag> が一致しているものが解析されます。

    たとえば、次の velero-plugin-for-vsphere コンテナ イメージについて考えます。
    abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
    次に示す backup-driverdata-manager-for-plugin の対応するイメージが取得されると想定されます。
    abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z
    abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
  4. インストールのトラブルシューティングを行います。
    backup-driverdata-manager-for-plugin の対応するイメージの解析中に問題やエラーが発生した場合、インストールは Docker ハブの公式 velerovsphereplugin リポジトリ内の対応するイメージにフォールバックされます。次の問題が発生すると、フォールバック メカニズムがトリガされます。
    1. ユーザー入力内のカスタマイズされた velero-plugin-for-vsphere イメージに、予期しないコンテナ名が使用されています。

      たとえば、x/y/velero-velero-plugin-for-vsphere:v1.1.1 が使用されています。

    2. Velero のデプロイ名が、velero 以外の名前にカスタマイズされています。たとえば、Velero をデプロイする前に、Velero manifests ファイルで Velero のデプロイ名が velero-server に更新された場合は、問題がトリガされます。

      velero-plugin-for-vsphere の既存のイメージ解析メカニズムで認識できるのは、velero という固定された名前を持つ Velero 環境のみです。

Velero Plugin for vSphere のアンインストール

次の手順を実行して、 Velero Plugin for vSphere をアンインストールします。これらの手順は、記載されている順序で実行します。
  1. velero-vsphere CLI を実行して、Velero Plugin for vSphere をアンインストールします。
    ./velero-vsphere uninstall -n velero
  2. velero という名前の vSphere ポッド が削除されたことを確認します。
    kubectl get pods -n velero

    ポッドが「終了しています」と表示されている場合は、ポッドが削除されるまで待機してから続行します。

  3. vSphere Client を使用して、手動で作成した velero という名前の vSphere 名前空間 を削除します。
    注: 名前空間の削除が完了するまで、次の手順に進まないでください。kubectl を使用して、 velero 名前空間が削除されていることを確認できます(ただし、kubectl を使用して velero 名前空間を削除しないでください)。
  4. vSphere Client を使用して、スーパーバイザー から [Velero vSphere Operator] をアンインストールします。
    1. [ワークロード管理] が有効になっている vCenter Server クラスタを指定します。
    2. [構成] > [vSphere サービス] > [概要] の順に選択します。
    3. [Velero vSphere Operator] を選択します。
    4. [アンインストール] をクリックします。

      このアクションを行うと、スーパーバイザー から [Velero vSphere Operator] がアンインストールされます。Operator は、[ワークロード管理] > [サービス] ページで引き続き再インストールできます。サービスを完全に削除するには、[アクション] > [削除] の順に選択します。