Question: unable to initialize providers control-plane-kubeadm
嘗試部署 TCE (Tanzu Community Edition) Standalone Cluster 至 vSphere 時,卻發生下列錯誤訊息?Failed waiting for at least one provider, check logs for more detail.unable to set up standalone cluster, : unable to initialize providers: error waiting for provider components to be up and running: pods are not yet running for deployment 'capi-kubeadm-control-plane-controller-manager' in namespace 'capi-kubeadm-control-plane-system'Shutting down...
Answer:
在本文實作環境中,造成這個問題的根本原因是 Tanzu CLI 主機的 SSH Key Pair 處理有問題導致的。在本文實作中,採用 Windows 10 主機當成 Tanzu CLI 主機 (或是文件中稱之為 bootstrap machine),電腦名稱為「Tanzu-CLI」,透過「ssh-keygen -t rsa -b 4096」指令建立 SSH Key Pair。
接著,這應該也是很多人漏掉的地方,因為安裝文件也沒有描述清楚這段 😱。簡單來說,必須過 ssh-agent 指令,將 SSH Private Key 儲存在 Windows 安全性內容中,並且和 Windows 登入使用者帳號產生關聯,後續需要 SSH Private Key 進行驗證時,ssh-agent 就會自動擷取儲存的 SSH Private Key 內容,並且傳遞給 SSH Client 進行驗證。
請透過下列指令,將 ssh-agent 服務啟動後,再透過 ssh-add 指令,將產生的 SSH Private Key 新增至 ssh-agent 的 Windows 安全性內容中。
處理好 SSH Key Pair 和 SSH Private Key 之後,再次執行 TCE Standalone Cluster on vSphere 部署作業便順利成功了。