您可以使用 適用於 vSphere 的 Velero 外掛程式 備份和還原在 vSphere 網繭上執行的工作負載。

概觀

您可以使用 適用於 vSphere 的 Velero 外掛程式 備份和還原在 主管vSphere 網繭上執行的工作負載。您可以備份和還原在 vSphere 網繭 上執行的無狀態應用程式和可設定狀態的應用程式。對於可設定狀態的應用程式,可以使用 適用於 vSphere 的 Velero 外掛程式 建立持續性磁碟區 (PV) 的快照。
備註: 無法將獨立 Velero 與 Restic 搭配使用以備份和還原 vSphere 網繭。您必須使用 主管上安裝的 適用於 vSphere 的 Velero 外掛程式

必要條件

必須先安裝和設定 適用於 vSphere 的 Velero 外掛程式,然後才能備份和還原 vSphere 網繭。請參閱 在 主管 上安裝和設定 適用於 vSphere 的 Velero 外掛程式
備註: 適用於 vSphere 的 Velero 外掛程式 不會備份和還原 主管的狀態。

備份 vSphere 網繭

若要備份無狀態 vSphere 網繭,請執行下列命令:
velero backup create <backup name> --include-namespaces=my-namespace

建立所有本機快照並且 Kubernetes 中繼資料已上傳至物件存放區後,備份將標記為 Completed。但是,磁碟區快照的備份會以非同步方式進行,可能仍會在背景中進行,且需要一些時間才能完成。

可以透過監控快照和上傳自訂資源來檢查磁碟區快照的狀態。

快照 CRD

對於每個磁碟區快照,將在與已建立快照之 PVC 相同的命名空間中建立快照自訂資源。您可以透過執行下列命令來取得 PVC 命名空間中的所有快照。
kubectl get -n <pvc namespace> snapshot
status.phase 欄位包含快照 CRD 的多個階段,包括:
狀態 說明
New 尚未處理
Snapshotted 已建立本機快照
SnapshotFailed 本機快照失敗
Uploading 正在上傳快照
Uploaded 已上傳快照
UploadFailed 無法上傳快照
Canceling 正在取消快照上傳
Canceled 已取消快照上傳
CleanupAfterUploadFailed 上傳快照後清理本機快照失敗

上傳 CRD

對於要上傳至物件存放區的每個磁碟區快照,將在與 Velero 相同的命名空間中建立上傳 CR。您可以透過執行下列命令來取得 Velero 命名空間中的所有上傳。
kubectl get -n <velero namespace> upload
status.phase 欄位包含上傳 CRD 的多個階段,包括:
狀態 說明
New 尚未處理
InProgress 正在上傳
UploadError 上傳失敗
CleanupFailed

上傳後刪除本機快照失敗

將重試此作業

Canceling

正在取消上傳

如果在快照上傳正在進行時呼叫 velero backup delete,則會發生此情況

Canceled 已取消上傳
將會定期重試 UploadError 的上傳。此時,將返回到 InProgress 階段。成功完成上傳後,其記錄將會保留一段時間,且最終將會移除。

還原 vSphere 網繭

若要還原已使用 適用於 vSphere 的 Velero 外掛程式 備份的 vSphere 網繭工作負載,請完成下列步驟。
  1. 為將要還原的工作負載建立 vSphere 命名空間
  2. 為命名空間設定儲存區原則。
  3. 執行下列 Velero 命令來還原工作負載:
    velero restore create --from-backup backup-name

當磁碟區快照和其他 Kubernetes 中繼資料成功還原至目前叢集後,Velero 還原將標記為 Completed。此時,與此還原相關的 vSphere 外掛程式的所有工作也已完成。背景中沒有非同步資料移動工作,如同 Velero 備份時一樣。

在 Velero 還原處於 Completed 狀態之前,可以透過監控 CloneFromSnapshot/下載 CR 來檢查磁碟區還原的狀態,如下所示。

CloneFromSnapshots CRD

若要從每個磁碟區快照還原,將在與最初建立快照之 PVC 相同的命名空間中建立 CloneFromSnapshot CR。我們可以透過執行下列命令來取得 PVC 命名空間中的所有 CloneFromSnapshots。
kubectl -n <pvc namespace> get clonefromsnapshot
status.phase 欄位包含 CloneFromSnapshot CRD 的多個階段,包括:
狀態 說明
New 未完成從快照複製
Completed 已完成從快照複製
Failed 從快照複製失敗
下載 CRD
每次還原要從物件存放區下載的磁碟區快照時,將在與 Velero 相同的命名空間中建立下載 CR。我們可以透過執行下列命令來取得 Velero 命名空間中的所有下載。
kubectl -n <velero namespace> get download
status.phase 欄位包含下載 CRD 的多個階段,包括:
狀態 說明
New 尚未處理
InProgress 正在下載
Completed 已完成下載
Retry

重試下載。

在下載備份資料期間發生任何故障時,將重試下載

Failed 下載失敗