可以使用 適用於 vSphere 的 Velero 外掛程式 備份和還原在 Tanzu Kubernetes 叢集上執行的工作負載,方法是在該叢集上安裝 適用於 vSphere 的 Velero 外掛程式

概觀

適用於 vSphere 的 Velero 外掛程式 提供了一個解決方案,用於備份和還原由 Tanzu Kubernetes Grid 服務佈建之叢集的 Tanzu Kubernetes 叢集工作負載。對於持續性工作負載, 適用於 vSphere 的 Velero 外掛程式 可讓您建立持續性磁碟區的快照。
備註: 如果想要備份和還原的 Tanzu Kubernetes 叢集工作負載具備可攜性,請勿使用 適用於 vSphere 的 Velero 外掛程式。如需跨 Kubernetes 叢集的可攜性,請將獨立 Velero 與 Restic 搭配使用。請參閱 在 Tanzu Kubernetes 叢集上安裝和設定獨立 Velero 和 Restic

必要條件:在主管叢集上安裝 適用於 vSphere 的 Velero 外掛程式

Tanzu Kubernetes 叢集上安裝 適用於 vSphere 的 Velero 外掛程式 需要主管叢集已安裝 適用於 vSphere 的 Velero 外掛程式。此外,必須為主管叢集設定 NSX-T 網路。

Tanzu Kubernetes 叢集上安裝 適用於 vSphere 的 Velero 外掛程式 之前,您必須先在主管叢集上安裝 適用於 vSphere 的 Velero 外掛程式。請參閱在 主管叢集 上安裝和設定 適用於 vSphere 的 Velero 外掛程式

在 Linux Workstation 上安裝 Velero CLI

Velero CLI 是與 Velero 連接的標準工具。Velero CLI 比 適用於 vSphere 的 Velero 外掛程式 CLI (velero-vsphere) 提供更多的功能,並且對於備份和還原 Tanzu Kubernetes 叢集工作負載是必要的。

在 Linux Workstation 上安裝 Velero CLI理想情況下,這也是針對 vSphere with Tanzu 環境執行相關聯 CLI 的同一跳轉主機,包括 kubectlkubectl-vspherevelero-vsphere

完成下列步驟以安裝 Velero CLI。
  1. 從 VMware 產品下載頁面下載支援版本的 Velero CLI。如需有關支援的 Velero 版本的詳細資訊,請參閱版本說明
  2. 開啟命令列,並將目錄變更為 Velero CLI 下載。
    gunzip velero-linux-v1.x.x_vmware.1.gz
  3. 檢查 Velero 二進位檔案。
    ls -l
    
    -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
    
  4. 將執行權限授與 Velero CLI。
    chmod +x velero-linux-v1.x.x_vmware.1
  5. 將 Velero CLI 移至系統路徑以使其全域可用。
    cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
  6. 確認已安裝 Velero CLI。
    velero version
    
    Client:
        Version: v1.x.x

取得與 S3 相容的值區詳細資料

為了方便起見,這些步驟假設您使用的是在主管叢集上安裝 適用於 vSphere 的 Velero 外掛程式 時所設定的 S3 相容物件存放區。在生產期間,您可能想要建立單獨的物件存放區。

若要安裝 適用於 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 外掛程式 時,將參考此檔案。
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

Tanzu Kubernetes 叢集上安裝 適用於 vSphere 的 Velero 外掛程式

您將使用 Velero CLI 在要備份和還原的目標 Tanzu Kubernetes 叢集上安裝 適用於 vSphere 的 Velero 外掛程式

Velero CLI 內容將自動遵循 kubectl 內容。執行 Velero CLI 命令在目標叢集上安裝 Velero 和 適用於 vSphere 的 Velero 外掛程式 之前,請務必將 kubectl 內容設定為目標叢集。
  1. 使用 kubectl 適用的 vSphere 外掛程式主管叢集 進行驗證。請參閱以 vCenter Single Sign-On 使用者身分連線至 主管叢集
  2. kubectl 內容設定為目標 Tanzu Kubernetes 叢集。
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. 執行下列 Velero CLI 命令,以在目標叢集上安裝 Velero。

    BUCKET-NAMEREGION (兩個執行個體) 和 s3Url 欄位的預留位置值取代為適當的值。如果您未遵循上述任何指示,請同時調整這些值,例如密碼檔案的名稱或位置、手動建立的 velero 命名空間的名稱等。

    ./velero install --provider aws \
    --bucket BUCKET-NAME \
    --secret-file ./s3-credentials \
    --features=EnableVSphereItemActionPlugin \
    --plugins velero/velero-plugin-for-aws:v1.1.0 \
    --snapshot-location-config region=REGION \
    --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
  4. 在目標叢集上安裝 適用於 vSphere 的 Velero 外掛程式。已安裝的 Velero 將與 Kubernetes API 伺服器進行通訊,以安裝外掛程式。
    velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0

從叢集中解除安裝 適用於 vSphere 的 Velero 外掛程式

完成下列步驟以解除安裝 適用於 vSphere 的 Velero 外掛程式
  1. kubectl 內容設定為目標 Tanzu Kubernetes 叢集。
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. 若要解除安裝外掛程式,請執行下列命令,以從 Velero 部署中移除 velero-plugin-for-vsphere 的 InitContainer。
    velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
  3. 若要完成解除安裝,請刪除備份驅動程式部署及相關 CRD。
    kubectl -n velero delete deployment.apps/backup-driver
    kubectl delete crds \
    backuprepositories.backupdriver.cnsdp.vmware.com \
    backuprepositoryclaims.backupdriver.cnsdp.vmware.com \
    clonefromsnapshots.backupdriver.cnsdp.vmware.com \
    deletesnapshots.backupdriver.cnsdp.vmware.com \
    snapshots.backupdriver.cnsdp.vmware.com
    kubectl delete crds uploads.datamover.cnsdp.vmware.com downloads.datamover.cnsdp.vmware.com