在系統嘗試安裝 Helm Chart 時,NSX Application Platform 部署嘗試失敗。

問題

在完成 10% 的 NSX Application Platform 部署過程後,在嘗試安裝 Helm Chart 時,系統顯示以下錯誤訊息。
NSX Application Platform deployment failed!
See Troubleshooting Documentation.
Helm install chart operation failed. Error: failed post-install: timed out waiting for the condition.

原因

過程正在嘗試存取設定為使用 HTTP 而不是 HTTPS 的 Harbor 登錄。

解決方案

  1. 對於生產環境,基礎結構管理員必須取得 CA 簽署憑證,以設定對他們安裝的私用 Harbor 登錄的 HTTPS 存取。如需詳細資訊,請參閱設定對 Harbor 的 HTTPS 存取網頁。
  2. (選擇性) (對於上游 Kubernetes 叢集,請謹慎使用此步驟。)如果要繼續使用採用 HTTP 而不是 HTTPS 的 Harbor 登錄,基礎結構管理員必須將以下資訊作為解決辦法。他們必須在用於部署 NSX Application Platform 的上游 Kubernetes 叢集的所有控制節點和 worker 節點上應用此解決辦法。
    1. 將以下內容新增到 daemon.json 檔中,此檔位於 /etc/docker/daemon.json 目錄中。
      {
      "insecure-registries" : ["Harbor FQDN or Harbor IP"]
      }
      
    2. 使用以下命令重新啟動 Docker Engine。
      systemctl restart docker
  3. (選擇性) (對於 TKG Cluster on Supervisor,請謹慎使用此步驟。)若要繼續使用採用 HTTP 而不是 HTTPS 的 Harbor 登錄,基礎結構管理員必須在用於部署 NSX Application Platform 的 TKG Cluster on Supervisor 的所有控制節點和 Worker 節點上套用以下因應措施資訊。
    1. 按照以系統使用者身分使用密碼透過 SSH 存取 Tanzu Kubernetes 叢集節點中所述的步驟,登入到每個 Tanzu worker 節點。
    2. 使用以下命令編輯 config.toml 檔案。
      sudo vim /etc/containerd/config.toml
    3. config.toml 中為 Harbor 登錄新增以下項目,其中 "10.222.44.111" 是範例 Harbor 登錄的 URL。
       [plugins.cri.registry]
            [plugins.cri.registry.mirrors]
              [plugins.cri.registry.mirrors."docker.io"]
                endpoint = ["https://registry-1.docker.io"]
              [plugins.cri.registry.mirrors."localhost:5000"]
                 endpoint = ["http://localhost:5000"]
              [plugins.cri.registry.mirrors."10.222.44.111"]
                 endpoint = ["http://10.222.44.111"] 
    4. 使用以下命令重新啟用 Docker 用戶端。
      sudo systemctl restart docker