為了能夠在 TKG 服務 叢集中使用快照技術,必須在 TKG 叢集中安裝並部署外部 CSI 快照 Webhook。外部 CSI 快照 Webhook 是一個具有 HTTP 回撥功能的開放原始碼元件,用於回應許可請求。它負責驗證磁碟區快照物件。

外部 CSI 快照 Webhook 會在 主管 中自動安裝。本主題僅適用於 TKG 服務 叢集。

必要條件

準備 TKG 服務 叢集以安裝外部 CSI 快照 Webhook

可以按照以下步驟,在 TKG 服務 叢集中安裝外部 CSI 快照 Webhook。

程序

  1. 取得要在其中部署外部 CSI 快照 Webhook 的 TKG 叢集的管理員認證。
    tanzu cluster kubeconfig get my-cluster --admin
  2. 將內容切換到佈建目標 TKG 叢集的 vSphere 命名空間
    kubectl config use-context my-cluster-admin@my-cluster
  3. 如果叢集沒有套件存放庫 (例如 tanzu-standard 存放庫),請安裝一個。
    如果目標叢集是以計劃為基礎的舊版叢集,則可以略過此步驟。對於以計劃為基礎的叢集,將在 tanzu-package-repo-global 命名空間中自動啟用 tanzu-standard 套件存放庫。
    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    • PACKAGE-REPO-NAME 是套件存放庫的名稱 (例如 tanzu-standard),或設定了 ADDITIONAL_IMAGE_REGISTRY 變數的私人映像登錄的名稱。
    • PACKAGE-REPO-ENDPOINT 是套件存放庫的 URL。
  4. 如果尚未執行此作業,請安裝 cert-manager。
    如需相關資訊,請參閱 安裝 Cert Manager

結果

現在,您可以部署外部 CSI 快照 Webhook。

部署外部 CSI 快照 Webhook

可以按照以下步驟,在 TKG 服務 叢集上部署外部 CSI 快照 Webhook。

程序

  1. 確認叢集中存在外部 CSI 快照 Webhook 套件。
    tanzu package available list -A

    如果套件無法使用,請確保已正確安裝包含所需外部 CSI 快照 Webhook 套件的套件存放庫。如需相關指示,請參閱準備 TKG 服務 叢集以安裝外部 CSI 快照 Webhook 中的步驟 3。

  2. 取得可用套件的版本。
    tanzu package available list external-csi-snapshot-webhook.tanzu.vmware.com -A
  3. 安裝具有適當可用版本的套件。
    tanzu package install external-csi-snapshot-webhook --package external-csi-snapshot-webhook.tanzu.vmware.com --version AVAILABLE-PACKAGE-VERSION --namespace kube-system
    AVAILABLE-PACKAGE-VERSION 指定您在步驟 2 中取得的套件版本。
  4. 確認已安裝外部 CSI 快照 Webhook 套件。
    tanzu package installed list -A
    若要查看有關套件的更多詳細資料,還可以執行以下命令:
    tanzu package installed get external-csi-snapshot-webhook --namespace kube-system
  5. 確認 external-csi-snapshot-webhook 應用程式已在 TARGET-NAMESPACE 中成功協調。
    kubectl get apps -A
    如果狀態不是 Reconcile Succeeded,請檢視 external-csi-snapshot-webhook 應用程式的完整狀態詳細資料。檢視完整狀態可協助您對問題進行疑難排解。
    kubectl get app external-csi-snapshot-webhook --namespace kube-system -o yaml
    如果疑難排解未協助您解決問題,請使用以下命令解除安裝套件,然後再重新安裝。
    tanzu package installed delete external-csi-snapshot-webhook --namespace kube-system
  6. 透過列出叢集中的所有網繭,確認 external-csi-snapshot-webhook 正在執行。
    kubectl get pods -A
    確認已在 kube-system 命名空間中建立 external-csi-snapshot-webhook 網繭。