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

概要

Velero Plugin for vSphere を使用すると、 スーパーバイザー 内の vSphere ポッド で実行されているワークロードをバックアップおよびリストアできます。 vSphere ポッド で実行されているステートレス アプリケーションとステートフル アプリケーションの両方をバックアップおよびリストアできます。ステートフル アプリケーションの場合は、 Velero Plugin for vSphere を使用して、パーシステント ボリューム (PV) のスナップショットを作成します。
注: スタンドアローンの Velero と Restic を使用して vSphere ポッド をバックアップおよびリストアすることはできません。 スーパーバイザー にインストールされている Velero Plugin for vSphere を使用する必要があります。

前提条件

vSphere ポッド をバックアップおよびリストアする前に、 Velero Plugin for vSphere をインストールして構成する必要があります。 スーパーバイザー での Velero Plugin for vSphere のインストールと構成を参照してください。
注: Velero Plugin for vSphere では、 スーパーバイザー の状態のバックアップとリストアは行われません。

vSphere ポッド のバックアップ

ステートレス vSphere ポッド をバックアップするには、次のコマンドを実行します。
velero backup create <backup name> --include-namespaces=my-namespace

バックアップは、すべてのローカル スナップショットが作成され、Kubernetes メタデータがオブジェクト ストアにアップロードされた後に Completed としてマークされます。ただし、ボリューム スナップショットのバックアップは非同期で実行されるため、バックグラウンドでまだ実行されている可能性があり、完了に時間がかかることがあります。

ボリューム スナップショットのステータスは、スナップショットおよびアップロード カスタム リソースを監視することにより確認できます。

[スナップショット CRD]

スナップショット カスタム リソースは、スナップショットが作成された PVC と同じ名前空間に、ボリューム スナップショットごとに作成されます。PVC 名前空間のすべてのスナップショットを取得するには、次のコマンドを実行します。
kubectl get -n <pvc namespace> snapshot
スナップショット CRD には、 status.phase フィールドのフェーズがいくつかあります。次に例を示します。
都道府県 説明
新規 まだ処理されていません
Snapshotted ローカル スナップショットが作成されました
SnapshotFailed ローカル スナップショットの作成に失敗しました
アップロードしています スナップショットをアップロードしています
Uploaded スナップショットがアップロードされました
UploadFailed スナップショットのアップロードに失敗しました
Canceling スナップショットのアップロードをキャンセルしています
キャンセルされました スナップショットのアップロードがキャンセルされました
CleanupAfterUploadFailed スナップショットのアップロード後のローカル スナップショットのクリーンアップに失敗しました

[アップロード CRD]

アップロード CR は、オブジェクト ストアにアップロードされるボリューム スナップショットごとに、Velero と同じ名前空間に作成されます。Velero 名前空間のすべてのアップロードを取得するには、次のコマンドを実行します。
kubectl get -n <velero namespace> upload
アップロード CRD には、 status.phase フィールドのフェーズがいくつかあります。次に例を示します。
都道府県 説明
新規 まだ処理されていません
InProgress アップロードが進行中です
UploadError アップロードに失敗しました
CleanupFailed

アップロード後のローカル スナップショットの削除に失敗しました

再試行されます

Canceling

アップロードをキャンセルしています

スナップショットのアップロードの進行中に velero backup delete が呼び出されると発生する場合があります

キャンセルされました アップロードがキャンセルされました
[UploadError] では、アップロードが定期的に再試行されます。その時点でフェーズは [InProgress] に戻ります。アップロードが正常に完了すると、そのレコードは、一定期間保持され、最終的には削除されます。

vSphere ポッド のリストア

Velero Plugin for vSphere を使用してバックアップされた vSphere ポッド ワークロードをリストアするには、次の手順を実行します。
  1. リストアするワークロードの vSphere 名前空間 を作成します。
  2. 名前空間のストレージ ポリシーを構成します。
  3. ワークロードをリストアするために、次の Velero コマンドを実行します。
    velero restore create --from-backup backup-name

Velero リストアが Completed としてマークされるのは、ボリューム スナップショットと他の Kubernetes メタデータが現在のクラスタに正常にリストアされたときです。この時点で、このリストアに関連する vSphere プラグインのすべてのタスクも完了します。Velero バックアップの場合とは異なり、バックグラウンドの非同期のデータ移動タスクはありません。

Velero リストアが Completed になる前は、次のように CloneFromSnapshot/Download CR を監視することにより、ボリューム リストアのステータスを確認できます。

[CloneFromSnapshots CRD]

各ボリューム スナップショットからリストアする場合、CloneFromSnapshot CR は、最初にスナップショットが作成された PVC と同じ名前空間に作成されます。PVC 名前空間のすべての CloneFromSnapshot を取得するには、次のコマンドを実行します。
kubectl -n <pvc namespace> get clonefromsnapshot
CloneFromSnapshot CRD には、 status.phase フィールドのフェーズがいくつかあります。次に例を示します。
都道府県 説明
新規 スナップショットからのクローン作成が完了していません
完了 スナップショットからのクローン作成が完了しました
Failed スナップショットからのクローン作成に失敗しました
[ダウンロード CRD]
ダウンロード CR は、オブジェクト ストアからダウンロードされるボリューム スナップショットの各リストアから、Velero と同じ名前空間に作成されます。Velero 名前空間のすべてのダウンロードを取得するには、次のコマンドを実行します。
kubectl -n <velero namespace> get download
ダウンロード CRD には、 status.phase フィールドのフェーズがいくつかあります。次に例を示します。
ステータス 説明
新規 まだ処理されていません
InProgress ダウンロードが進行中です
完了 ダウンロードが完了しました
再試行

ダウンロードを再試行します。

バックアップ データのダウンロード中にエラーが発生した場合は、ダウンロードが再試行されます

Failed ダウンロードに失敗しました