私人叢集是虛擬私有雲端 (VPC) 原生叢集,只依賴內部 IP 位址。也就是說,節點和 Pod 預設會與網際網路隔離。本頁面說明如何使用 Cloud Code 連線至私人叢集 (無論是否可存取公開端點),以及如何允許私人叢集從外部 Google Cloud存取資源。
如要瞭解私人叢集,請參閱「私人叢集」。如需設定私人叢集的操作步驟,請參閱「建立私人叢集」。
將私有 GKE 叢集新增至 KubeConfig
在 Cloud Code 中新增私人叢集時,會發生下列情況:
如果叢集已啟用公開端點,新增叢集時,系統會將 KubeConfig 中的叢集位址設為外部 IP。
如果叢集已關閉公開端點,新增叢集時,KubeConfig 中的叢集位址會設為叢集的內部 VPC IP。
如要將授權網路新增至現有叢集,請務必連線至授權網路,因為這個叢集已啟用授權網路。
如要進一步瞭解如何連線至沒有外部 IP 位址的 VM,請參閱「安全地連線至 VM 執行個體」。如要管理/刪除您建立的執行個體,請參閱「VM 執行個體」。
如要順利連線至私有叢集,Cloud Code 必須在叢集網路中的機器上執行,或能夠存取叢集網路,例如使用 Proxy 伺服器、Cloud Interconnect 或 Cloud VPN。
如要瞭解如何在 Cloud Code 中建立 GKE 叢集,以及將現有 GKE 叢集新增至 Cloud Code,請參閱建立及設定 GKE 叢集。Cloud Code 會開啟 Google Cloud 控制台來建立叢集。
建立叢集後,請設定 Cloud NAT,允許叢集發出網際網路連線 (如果叢集建立期間未設定)。如要管理/刪除您建立的網路,請參閱「虛擬私有雲網路」。
排解連線至私人叢集的問題
如果開發環境未正確設定,無法存取私人叢集,系統會在下列情況顯示解決問題的建議:
在 Kubernetes Explorer 中,Cloud Code 無法連線的叢集會顯示錯誤圖示,位於叢集名稱旁邊。
如果嘗試對叢集執行作業,但叢集因私有叢集設定的潛在問題而無法存取,系統會顯示工具提示,內含錯誤訊息,並詳細說明潛在問題和可能的解決方法。如要查看錯誤訊息,請將游標懸停在含有錯誤圖示的叢集上。
如要查看私人叢集文件,請在叢集上按一下滑鼠右鍵,然後選取「查看私人叢集文件」。
設定叢集的 Proxy 伺服器
如果控制層 API 無法公開存取 (例如在關閉公開端點的 GKE 叢集中),您可以設定 Cloud Code,透過與叢集位於相同網路或 VPC 的 Proxy 伺服器,將要求 Proxy 至控制層:
- 如果尚未設定,請在與叢集相同的網路上設定 Proxy 伺服器。如需將 Compute Engine VM 設定為基本 Proxy 伺服器的步驟,請參閱「使用防禦主機遠端存取私人叢集」。詳情請參閱建立具有網路 Proxy 的 Google Kubernetes Engine 私人叢集,以便存取控制器。
- 在Cloud Code 中新增叢集後,對叢集名稱按一下滑鼠右鍵,然後點選「設定 Kubectl 代理」。按照提示輸入 Proxy 伺服器的名稱,該名稱會儲存在叢集的
proxy-url
欄位中。Kubernetes Explorer 會重新載入,顯示已連線的叢集。
取消 Kubernetes 代理
在已設定 Kubernetes 代理的叢集名稱上按一下滑鼠右鍵,然後按一下「Cancel Kubectl Proxying」。Cloud Code 會取消設定 KubeConfig 中的 proxy-url
欄位,停止為叢集轉送要求。
從叢集存取外部資源 Google Cloud
所有 GKE 私人叢集設定都不會提供節點網際網路存取權。因此叢集無法連上公開網際網路上的 API。系統會自動為叢集設定私人 Google 存取權,例如允許叢集從 Artifact Registry 提取映像檔。如未進行額外設定,允許節點建立網際網路傳出連線,就無法存取 Google Cloud 以外的 API 和映像檔登錄檔。如要提供這些連線,您可以在 Cloud Code 中設定虛擬私有雲的 Cloud NAT:
- 在 Kubernetes 探索器中,以滑鼠右鍵按一下叢集,然後選取「授予私人 GKE 網際網路」。
- 在終端機中,編輯
gcloud compute routers create
和gcloud beta compute routers nats create
指令,為應用程式指定值。請務必選擇私有叢集所在的{REGION}
。如需支援的地區清單,請參閱「地區和區域」一文。 - 如要執行指令,請按下
Enter
鍵。 - 如要管理/刪除您建立的路由器,請參閱「Cloud Router」。
後續步驟
- 瞭解共用虛擬私有雲網路。