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