您可以透過在 主管 上安裝 適用於 vSphere 的 Velero 外掛程式,使用 適用於 vSphere 的 Velero 外掛程式 來備份和還原在 vSphere 網繭 上執行的工作負載。

概觀

適用於 vSphere 的 Velero 外掛程式 提供了用於備份和還原 vSphere with Tanzu 工作負載的解決方案。該解決方案需要安裝和設定數個元件。在 主管 上安裝並設定 適用於 vSphere 的 Velero 外掛程式 後,您可以備份和還原 vSphere 網繭。對於持續性工作負載,適用於 vSphere 的 Velero 外掛程式 可讓您建立持續性磁碟區的快照。

主管 上安裝 適用於 vSphere 的 Velero 外掛程式 也是使用 適用於 vSphere 的 Velero 外掛程式 備份和還原 Tanzu Kubernetes 叢集工作負載的必要條件。
備註: 適用於 vSphere 的 Velero 外掛程式 無法用於備份和還原 主管 狀態。請參閱 備份和還原 vSphere with Tanzu 的考量事項
備註: 適用於 vSphere 的 Velero 外掛程式 本身不執行增量備份。Dell EMC PowerProtect 支援增量備份,並利用 Velero 和 適用於 vSphere 的 Velero 外掛程式

必要條件

在安裝 適用於 vSphere 的 Velero 外掛程式 之前,請遵循下列必要條件:
  • 主管 為 1.21.1 版或更新版本。
  • 已建立並設定 vSphere 命名空間
  • 您必須是 vSphere 管理員角色的成員,或具有下列 vSphere 權限:
    • SupervisorServices.Manage
    • Namespaces.Manage
    • Namespaces.Configure
螢幕擷取畫面顯示 適用於 vSphere 的 Velero 外掛程式 安裝的結束狀態。
  • NSX 網路用於支援 vSphere 網繭 的部署
  • 已部署 Data Manager 虛擬機器
  • Velero Operator 已啟用並在 velero-vsphere-domain-cXX 命名空間中執行
  • 已設定名為 velero 的命名空間
  • 適用於 vSphere 的 Velero 外掛程式velero 命名空間中做為 vSphere 網繭 執行

此螢幕擷取畫面顯示了 vSphere Client 中的 Velero 外掛程式。

升級

這些指示假設您執行的是 vSphere 8。如果您先前已在 vSphere 7 U3 環境中安裝 適用於 vSphere 的 Velero 外掛程式,則在升級時,Data Manager 虛擬機器和 Velero vSphere Operator 會移轉至新的架構。Velero vSphere Operator 會轉換為新的 vSphere 服務格式。無需任何動作。

建立用於備份和還原流量的專用網路 (選擇性)

儘管不是必要的,但建議在生產環境中,將備份和還原流量與管理網路流量 vSphere with Tanzu 分開。此作業有兩個方面:
  • 標記 ESXi 主機以支援網路檔案複製 (NFC)
  • 使用 NSX-T Data Center 設定備份和還原網路

若要將 vSphere 8 ESXi 主機設定為支援專用網路區塊裝置 (NBD) 傳輸,請在已啟用工作負載管理的 vSphere 叢集中的每個 ESXi 主機上新增 VMkernel NIC,並在該 NIC 上設定 vSphereBackupNFC。如果標籤 vSphereBackupNFC 套用到 VMkernel 介面卡的 NIC 類型,則備份和還原流量會經過所選的虛擬 NIC。

若要執行此組態,請使用 Virtual Disk Development Kit。請參閱 NBD 說明文件
備註: 如果未在 VMkernel NIC 上啟用 vSphereBackupNFC,則備份和還原網路上不會傳送備份和還原流量,即使您設定了此網路也是如此。如果未啟用 vSphereBackupNFC,流量將在 vSphere 管理網路上進行傳輸。
啟用 vSphereBackupNFC 標籤後,透過更新叢集的現有 vSphere Distributed Switch (vDS),使用 NSX-T 設定備份和還原網路,如下所示:
  • vSphere Client 中,選取功能表 > 網路
  • 選取叢集的現有 vDS。
  • 在 vDS 上按一下滑鼠右鍵,然後選取分散式連接埠群組 > 新增分散式連接埠群組
  • 建立名為 BackupRestoreNetwork 的新分散式連接埠群組。
  • 將 VMkernel 介面卡新增至 BackupRestoreNetwork 分散式連接埠群組。
  • 將已啟用工作負載管理之 vCenter 叢集中的所有 ESXi 主機連結至 BackupRestoreNetwork 分散式連接埠群組。
  • 啟用 vSphereBackupNFC 標籤。

如需有關在現有 vDS 上建立 NSX 網路的指引,請參閱安裝和設定 NSX for vSphere with Tanzu

建立與 S3 相容的物件存放區

若要備份和還原持續性磁碟區,您需要提供與 S3 相容的物件存放區。Velero 支援多個物件存放區提供者

若要安裝 適用於 vSphere 的 Velero 外掛程式,需要提供下列關於與 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。安裝 適用於 vSphere 的 Velero 外掛程式 時,將參考此檔案。
[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

若要使用 適用於 vSphere 的 Velero 外掛程式 促進備份和還原,您可以部署一或多個 Data Manager 虛擬機器,以將持續性磁碟區備份資料移入和移出與 S3 相容的物件儲存區。在還原期間,Data Manager 會將磁碟區快照資料從 vSphere 磁碟區移到備份上的遠端長期與 S3 相容的儲存區,以及從遠端與 S3 相容的儲存區移到 vSphere 磁碟區。

vSphere with Tanzu 環境中,將 Data Manager 安裝為虛擬機器。
備註: 在啟用 Velero vSphere 操作者 環境之前,請勿開啟 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 叢集,然後選取設定 > 命名空間 > 網路 > 管理網路 > 起始 IP 位址

    guestinfo.cnsdp.updateKubectl 預設值為 false。請勿修改此值。
    guestinfo.cnsdp.veleroNamespace 預設值為 velero,除非您有足夠的理由加以變更,否則應保留此值。稍後,您將在主管叢集上建立名稱為 velero 的 vSphere 命名空間。這些名稱必須相符。
    guestinfo.cnsdp.datamgrImage 如果未設定,依預設系統將從位於 vsphereveleroplugin/data-manager-for-plugin:1.1.0 的 Docker Hub 提取容器映像
  17. 按一下 [確定] 以儲存組態,然後再按一下 [確定] 以儲存虛擬機器設定。
    備註: 如果您未將 CD/DVD 光碟機從 主機裝置變更為 用戶端裝置,則無法儲存設定。如果是這樣,請取消作業,變更磁碟機,然後重複進階組態設定。
  18. 在啟用 Velero vSphere 操作者 之前,請勿開啟 Data Manager 虛擬機器的電源 (下一節)。

主管 上安裝 Velero vSphere 操作者 服務

vSphere with TanzuVelero vSphere 操作者 作為 主管服務 提供。此 Velero vSphere 操作者 服務可與 適用於 vSphere 的 Velero 外掛程式 搭配使用,以支援 Kubernetes 工作負載的備份和還原,包括建立持續性磁碟區的快照。如需有關 主管服務 的詳細資訊,請參閱使用 vSphere with Tanzu 管理主管服務

完成以下操作,在啟用了 工作負載管理vCenter Server 中登錄 Velero vSphere Operator 規格,並在 主管 上作為服務安裝 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 是唯一的英數 Token。這是系統為 Velero vSphere Operator 建立的命名空間。
    備註: 無需設定此命名空間,也不應對其進行編輯。
  6. 主機和叢集視圖中,選取 Data Manager 虛擬機器。
  7. Data Manager 虛擬機器上按一下滑鼠右鍵,然後將其電源開啟。

適用於 vSphere 的 Velero 外掛程式 建立 vSphere 命名空間

使用 vSphere Client主管 上手動建立 vSphere 命名空間適用於 vSphere 的 Velero 外掛程式 需要此命名空間。如需相關指引,請參閱 建立和設定 vSphere 命名空間
  • 將命名空間命名為 velero
  • 選取 velero 命名空間並進行設定。
  • 指定 velero 命名空間的儲存區。
  • 授與使用者適當的權限,即對 velero 命名空間的編輯權限。

安裝 適用於 vSphere 的 Velero 外掛程式

現在,您已準備好安裝 適用於 vSphere 的 Velero 外掛程式。為此,請下載並執行 velero-vsphere CLI。
備註: 此程序需要 Linux 虛擬機器。您應將 velero-vsphere 下載到執行 kubectl-vspherekubectl CLI 所在的 Linux 跳轉主機,並加以執行。
  1. 建立可在其中執行 CLI 的 Linux 虛擬機器。或使用從其中存取 主管 的現有 Linux 跳轉主機。
  2. 從下列位置下載 適用於 vSphere 的 Velero 外掛程式 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 ubuntu@10.117.29.131:/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 命名空間中,安裝一個組態對應檔案,該檔案將主管指定為將安裝 適用於 vSphere 的 Velero 外掛程式 的叢集的類型模板。
    % 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 命令,將 適用於 vSphere 的 Velero 外掛程式 安裝到 velero 命名空間中。

    BUCKET-NAMEREGION (兩個執行個體) 和 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
    備註: 您可以在 主管 上使用 適用於 vSphere 的 Velero 外掛程式 v1.1.0 及更高版本,例如 vsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1vsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0。Velero 版本必須為 v1.5.1 ( velero/velero:v1.5.1)。
  11. 確認已成功安裝 適用於 vSphere 的 Velero 外掛程式
    若成功安裝,您應該會看到下列訊息:
    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"
    }
    備註: 上述命令假設您已安裝 jq 公用程式,其會對傳送至終端機的 JSON 輸出進行格式化。如果未安裝 jq,請安裝或移除命令的此部分 ( json 後的所有內容)。
  12. 視需要進行疑難排解。

    如果安裝失敗,請移除安裝,然後再試一次。若要移除安裝,請依照所列順序完成下一節中的步驟。

在氣隙環境中安裝 Velero 外掛程式

如果計劃在氣隙環境中安裝 適用於 vSphere 的 Velero 外掛程式,則必須使用自訂映像進行安裝。您必須確保自訂映像的 backup-driverdata-manager-for-plugin 的相符映像在預期的登錄中可用,並且可從 Kubernetes 叢集中存取。在氣隙環境中,自訂映像應在私人登錄中,因為 Docker Hub 中已發佈的映像不可存取。

若要安裝外掛程式,請執行下列步驟:
  1. 下載 velero-plugin-for-vspherebackup-driverdata-manager-for-plugin 的已發佈映像。
  2. 重新命名映像,也就是使用相符的 <Registry endpoint and path><Version tag> 對其進行標記,然後將其上傳到自訂存放庫中。
  3. 使用自訂的 velero-plugin-for-vsphere 映像安裝外掛程式。

    在 vanilla 叢集中安裝 適用於 vSphere 的 Velero 外掛程式 時,它會在背景部署兩個其他元件:backup-driver 部署和 data-manager-for-plugin DaemonSet。在 主管 和 Tanzu Kubernetes 叢集中,僅部署 backup-driver 部署。

    提供 velero-plugin-for-vsphere 的容器映像時,將使用映像剖析機制剖析相符的 backup-driverdata-manager-for-plugin 映像。

    容器映像已正式使用以下模式:
    <Registry endpoint and path>/<Container name>:<Version tag>

    提供 velero-plugin-for-vsphere 容器映像時,將剖析具有相符 <Registry endpoint and path><Version tag>backup-driverdata-manager-for-plugin 的相應映像。

    例如,請考慮以下 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 Hub 中官方 velerovsphereplugin 存放庫中的相應映像。以下問題會觸發後援機制:
    1. 在使用者輸入的自訂 velero-plugin-for-vsphere 映像中使用不允許的容器名稱。

      例如,使用 x/y/velero-velero-plugin-for-vsphere:v1.1.1

    2. Velero 部署名稱自訂為除 velero 以外的任何其他內容。例如,如果在部署 Velero 之前將 Velero 部署名稱更新為 Velero manifests 檔案中的 velero-server,則會觸發該問題。

      velero-plugin-for-vsphere 中的現有映像剖析機制只能辨識具有固定名稱 velero 的 Velero 部署。

解除安裝 適用於 vSphere 的 Velero 外掛程式

完成下列步驟以解除安裝 適用於 vSphere 的 Velero 外掛程式。請依照所列順序執行下列步驟。
  1. 執行 velero-vsphere CLI 以解除安裝 適用於 vSphere 的 Velero 外掛程式
    ./velero-vsphere uninstall -n velero
  2. 確認名為 velerovSphere 網繭 是否已移除。
    kubectl get pods -n velero

    如果發現網繭「正在終止」,請等待其移除後再繼續。

  3. 使用 vSphere Client 刪除您手動建立的名為 velerovSphere 命名空間
    備註: 在命名空間刪除完成之前,請勿繼續進行下一個步驟。可以使用 kubectl 確認是否已移除 velero 命名空間 (但請勿使用 kubectl 移除 velero 命名空間)。
  4. 使用 vSphere Client主管 解除安裝 Velero vSphere Operator
    1. 選取已啟用工作負載管理的 vCenter 叢集。
    2. 選取設定 > vSphere 服務 > 概觀
    3. 選取 Velero vSphere Operator
    4. 按一下解除安裝

      此動作會從 主管 解除安裝 Velero vSphere Operator。Operator 仍可在工作負載管理 > 服務頁面上進行重新安裝。若要完全移除服務,請選取動作 > 刪除