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 でパーシステント ボリュームのスナップショットを作成できます。
前提条件
- スーパーバイザー がバージョン 1.21.1 以降である。
- vSphere 名前空間 が作成され、構成されている。
- vSphere 管理者ロールのメンバーであるか、次の vSphere 権限を持っている必要がある。
- SupervisorServices.Manage
- Namespaces.Manage
- Namespaces.Configure
- NSX ネットワークは、vSphere ポッド のデプロイをサポートするために使用されている
- Data Manager 仮想マシンがデプロイされている
- Velero Operator が有効で、
velero-vsphere-domain-cXX
名前空間で実行されている velero
という名前空間が構成されている- Velero Plugin for vSphere が
velero
名前空間内で vSphere ポッド として実行されている
アップグレード
ここに示す手順では、vSphere 8 を実行していることが前提となります。Velero Plugin for vSphere を vSphere 7 U3 環境にすでにインストールしている場合は、アップグレード時に Data Manager 仮想マシンと [Velero vSphere Operator] が新しいフレームワークに移行されます。[Velero vSphere Operator] は、新しい vSphere サービス形式に変換されます。アクションは不要です。
バックアップおよびリストア トラフィック専用ネットワークの作成(オプション)
- ネットワーク ファイル コピー (NFC) をサポートする ESXi ホストにタグを付ける
- NSX-T Data Center を使用してバックアップおよびリストア ネットワークを構成する
専用ネットワーク ブロック デバイス (NBD) の転送をサポートするように vSphere 8 ESXi ホストを構成するには、ワークロード管理が有効になっている vSphere クラスタ内の各 ESXi ホストに VMkernel NIC を追加して、その NIC に vSphereBackupNFC
を設定します。タグ vSphereBackupNFC
を VMkernel アダプタの NIC タイプに適用すると、バックアップ トラフィックとリストア トラフィックは選択した仮想 NIC を経由するようになります。
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 ボリュームに移動します。
- Data Manager OVA をダウンロードします。
- vSphere Client を使用して、ワークロード管理が有効になっている [データセンター] を右クリックし、[OVF テンプレートのデプロイ] を選択します。
- ダウンロードした Data Manager OVA ファイルを選択して、vCenter Server にアップロードします。
- たとえば、仮想マシンに DataManager という名前を付けます。
- コンピューティング リソースとして、スーパーバイザー が構成されている vSphere クラスタを選択します。
- 仮想マシンのデプロイの詳細を確認し、[次へ] をクリックします。
- 使用許諾契約書を承諾して、[次へ] をクリックします。
- ストレージを選択して、[次へ] をクリックします。
- Data Manager 仮想マシンのターゲット ネットワークを選択します。
- 専用のバックアップおよびリストア ネットワークが構成されている場合は、[BackupRestoreNetwork] を選択します。バックアップおよびリストア トラフィック専用ネットワークの作成(オプション)を参照してください。
- 専用のバックアップおよびリストア ネットワークが構成されていない場合は、[管理ネットワーク] を選択します。
- 選択内容を確認し、[終了] をクリックしてプロセスを完了します。
- [最近のタスク] パネルを使用して、デプロイの進行状況を監視します。
注: 「OVF 記述子が利用できません。」というエラーが表示される場合は、Chrome ブラウザを使用します。
- Data Manager 仮想マシンがデプロイされたら、仮想マシンの入力パラメータを構成します。
- 仮想マシンを右クリックして、 を選択します。
- [仮想ハードウェア] タブで、[CD/DVD ドライブ] を [ホスト デバイス] から [クライアント デバイス] に変更します。
注: この操作を行わないと、必要な詳細設定を保存できません。
- タブで の順に選択します。
- 次の各設定の入力パラメータを構成します。
パラメータ 値 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 クラスタに移動して、
の順に選択します。guestinfo.cnsdp.updateKubectl
デフォルトは false です。この値は変更しないでください。 guestinfo.cnsdp.veleroNamespace
デフォルトは velero です。変更する理由が特にない限り、そのままにします。プロセスの後半で、スーパーバイザー クラスタに velero
という名前の vSphere 名前空間を作成します。これらの名前が一致する必要があります。guestinfo.cnsdp.datamgrImage
構成されていない(未設定の)システムでは、デフォルトで、 vsphereveleroplugin/data-manager-for-plugin:1.1.0
にある Docker ハブからコンテナ イメージが取得されます。 - [OK] をクリックして構成を保存し、もう一度 [OK] をクリックして仮想マシンの設定を保存します。
注: [CD/DVD ドライブ] を [ホスト デバイス] から [クライアント デバイス] に変更しなかった場合は、設定を保存できません。この場合は、操作をキャンセルしてドライブを変更し、詳細設定を繰り返します。
- 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] の YAML をダウンロードします。
http://vmware.com/go/supervisor-service
サービス仕様ファイルの名前は、velero-supervisorservice-1.0.0.yaml です。
- vSphere Client ホーム メニューから、[ワークロード管理] を選択します。
- [サービス] タブを選択します。
- 上部のドロップダウン メニューからターゲット vCenter Server インスタンスを選択します。
- ダウンロードしたサービス仕様ファイル
velero-supervisorservice-1.0.0.yaml
を [サービスの新規追加] カードにドラッグ アンド ドロップします。[追加] をクリックし、velero-supervisorservice-1.0.0.yaml ファイルを参照して選択することもできます。
- [次へ] をクリックして、使用許諾契約書に同意します。
- [終了] をクリックします。
[Velero vSphere Operator] が vCenter Server に登録されています。サービスが [有効] な状態になっていることを確認します。サービスが非アクティブな状態になっている場合は、インストールできません。
- [サービス] タブで [Velero vSphere Operator] の仕様を見つけます。
- の順にクリックします。
- サービスをインストールするターゲット スーパーバイザー を選択します。
注: スーパーバイザー が表示されない場合は、NSX ネットワークを使用していることを確認します。
- 次のように、[Velero vSphere Operator] サービスのインストールを構成します。
- ドロップダウンからバージョン [1.1.0] を選択します。
- [リポジトリ エンドポイント] を指定しないでください。
- ユーザー名またはパスワードを入力しないでください。
- [次へ] をクリックします。
- [完了] をクリックして、サービスのインストールを完了します。
スーパーバイザー で [Velero vSphere Operator] サービスを確認し、Data Manager 仮想マシンを起動します。
- vSphere Client ホーム メニューから、[ワークロード管理] を選択します。
- [スーパーバイザー] タブをクリックし、[Velero vSphere Operator] をインストールした スーパーバイザー を選択します。
- [構成] タブをクリックし、[スーパーバイザー サービス] の [概要] をクリックします。
- [Velero vSphere Operator] がインストールされていて、ステータスが [設定済み] になっていることを確認します。
- [名前空間] タブに、
svc-velero-vsphere-domain-xxx
という名前の新しい名前空間が表示されていることを確認します。xxx
は一意の英数字トークンです。これは、[Velero vSphere Operator] 用にシステムによって作成された名前空間です。注: この名前空間を構成する必要はありません。編集しないでください。 - [ホストおよびクラスタ] ビューで [Data Manager] 仮想マシンを選択します。
- [Data Manager] 仮想マシンを右クリックして、パワーオンします。
Velero Plugin for vSphere の vSphere 名前空間の作成
- 名前空間に velero という名前を付けます。
- [velero] 名前空間を選択して、構成します。
- [velero] 名前空間のストレージを指定します。
- 適切な権限を持つユーザーに、[velero] 名前空間に対する編集権限を付与します。
Velero Plugin for vSphere のインストール
kubectl-vsphere
と
kubectl
CLI を実行する Linux ジャンプ ホストに
[velero-vsphere] をダウンロードして、実行する必要があります。
- この CLI を実行できる Linux 仮想マシンを作成します。または、既存の Linux ジャンプ ホストを使用して スーパーバイザー にアクセスします。
- 次の場所から Velero Plugin for vSphere CLI をダウンロードします。
- CLI を Linux ジャンプ ホストに安全にコピーします。例:
pscp -P 22 C:\temp\velero-vsphere-1.1.0-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
velero-vsphere
CLI を抽出して、書き込み可能にします。tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz chmod +x velero-vsphere
- 次の内容の
s3-credentials
ファイルを作成します。aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
- S3 互換オブジェクト ストアのリージョン、URL、バケット名を取得します。
- kubectl 向けの vSphere プラグイン を使用して、スーパーバイザー にログインします。
- コンテキストを スーパーバイザー に切り替えます。
kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
- 作成した [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
- 次の
velero-vsphere
CLI コマンドを実行して、[velero] 名前空間に Velero Plugin for vSphere をインストールします。BUCKET-NAME、REGION(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.1
やvsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0
のように、 スーパーバイザー で Velero Plugin for vSphere v1.1.0 以降を使用することができます。Velero のバージョンは、v1.5.1 (velero/velero:v1.5.1
) である必要があります。 - 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
以降のすべて)を削除します。 - 必要に応じてトラブルシューティングを行います。
インストールに失敗した場合は、インストールを削除して、再試行してください。インストールを削除するには、次のセクションに記載されている手順を記載されている順序で実行します。
エアギャップ環境への Velero プラグインのインストール
エアギャップ環境に Velero Plugin for vSphere をインストールする場合は、カスタマイズされたイメージとともにインストールする必要があります。カスタマイズされたイメージのうち backup-driver
および data-manager-for-plugin
の対応するイメージが想定されるレジストリ内にあり、Kubernetes クラスタからアクセスできることを確認する必要があります。エアギャップ環境では、Docker ハブ内のリリース済みイメージにアクセスできないため、プライベート レジストリ内にあるカスタマイズ済みイメージが使用されます。
velero-plugin-for-vsphere
、backup-driver
、およびdata-manager-for-plugin
のリリース済みイメージをダウンロードします。- イメージの名前を変更します。つまり、対応する
<Registry endpoint and path>
および<Version tag>
をイメージにタグ付けして、カスタマイズされたリポジトリにアップロードします。 - カスタマイズした
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-driver
とdata-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
- インストールのトラブルシューティングを行います。
backup-driver
とdata-manager-for-plugin
の対応するイメージの解析中に問題やエラーが発生した場合、インストールは Docker ハブの公式velerovsphereplugin
リポジトリ内の対応するイメージにフォールバックされます。次の問題が発生すると、フォールバック メカニズムがトリガされます。- ユーザー入力内のカスタマイズされた
velero-plugin-for-vsphere
イメージに、予期しないコンテナ名が使用されています。たとえば、
x/y/velero-velero-plugin-for-vsphere:v1.1.1
が使用されています。 - Velero のデプロイ名が、
velero
以外の名前にカスタマイズされています。たとえば、Velero をデプロイする前に、Veleromanifests
ファイルで Velero のデプロイ名がvelero-server
に更新された場合は、問題がトリガされます。velero-plugin-for-vsphere
の既存のイメージ解析メカニズムで認識できるのは、velero
という固定された名前を持つ Velero 環境のみです。
- ユーザー入力内のカスタマイズされた
Velero Plugin for vSphere のアンインストール
velero-vsphere
CLI を実行して、Velero Plugin for vSphere をアンインストールします。./velero-vsphere uninstall -n velero
velero
という名前の vSphere ポッド が削除されたことを確認します。kubectl get pods -n velero
ポッドが「終了しています」と表示されている場合は、ポッドが削除されるまで待機してから続行します。
- vSphere Client を使用して、手動で作成した
velero
という名前の vSphere 名前空間 を削除します。注: 名前空間の削除が完了するまで、次の手順に進まないでください。kubectl を使用して、velero
名前空間が削除されていることを確認できます(ただし、kubectl を使用してvelero
名前空間を削除しないでください)。 - vSphere Client を使用して、スーパーバイザー から [Velero vSphere Operator] をアンインストールします。
- [ワークロード管理] が有効になっている vCenter Server クラスタを指定します。
- の順に選択します。
- [Velero vSphere Operator] を選択します。
- [アンインストール] をクリックします。
このアクションを行うと、スーパーバイザー から [Velero vSphere Operator] がアンインストールされます。Operator は、 ページで引き続き再インストールできます。サービスを完全に削除するには、 の順に選択します。