在 Cloud Code for VS Code 中設定私人叢集

私人叢集是虛擬私有雲端 (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」部分中,Cloud Code 無法連線的叢集會顯示錯誤圖示,並列在叢集名稱旁。如要查看可能的解決方法,以及潛在問題的詳細說明,請按一下叢集名稱。

  • 如果私有叢集設定可能發生問題,導致您無法存取叢集,並嘗試對該叢集執行作業,系統就會顯示通知,內含錯誤訊息,以及潛在問題和可能的解決方法。

為叢集設定 Proxy 伺服器

如果控制層 API 無法公開存取 (例如在關閉公開端點的 GKE 叢集中),您可以設定 Cloud Code,透過與叢集位於相同網路或 VPC 的 Proxy 伺服器,將要求 Proxy 至控制層:

  1. 如果尚未設定,請在與叢集相同的網路上設定 Proxy 伺服器。如需將 Compute Engine VM 設定為基本 Proxy 伺服器的步驟,請參閱使用堡壘主機遠端存取私人叢集。詳情請參閱建立具有網路 Proxy 的 Google Kubernetes Engine 私人叢集,以便存取控制器
  2. Cloud Code 中新增叢集後,對叢集名稱按一下滑鼠右鍵,然後點選「Set up Kubectl Proxying for cluster」(為叢集設定 Kubectl 代理)。按照提示輸入儲存在叢集 proxy-url 欄位中的 Proxy 伺服器名稱。Kubernetes 檢視畫面會重新載入,顯示已連線的叢集。

取消 Kubernetes 代理

在已設定 Kubernetes 代理的叢集名稱上按一下滑鼠右鍵,然後按一下「Cancel Kubectl Proxying for cluster」(取消叢集的 Kubectl 代理)。Cloud Code 會取消設定 KubeConfig 中的 proxy-url 欄位,停止為叢集轉送要求。

從叢集外部存取資源 Google Cloud

所有 GKE 私人叢集設定都不會提供節點網際網路存取權。因此,叢集無法存取公開網際網路上的 API。系統會自動為叢集設定Private Google Access,例如允許叢集從 Artifact Registry 提取映像檔。如未進行額外設定,允許節點建立網際網路傳出連線,就無法存取 Google Cloud 以外的 API 和映像檔登錄檔。如要提供這些連線,您可以在 Cloud Code 中,透過虛擬私有雲設定 Cloud NAT

  1. 執行「Grant private GKE nodes outbound internet access」(授予私人 GKE 節點輸出網際網路存取權) 指令,方法是按一下叢集,或從指令面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(瀏覽) >「Command Palette」(指令面板))。
  2. 在終端機中,編輯 gcloud compute routers creategcloud beta compute routers nats create 指令,為應用程式指定值。
  3. 如要執行指令,請按下 Enter 鍵。
  4. 如要管理/刪除您建立的路由器,請參閱「Cloud Router」。

後續步驟

取得支援

如要提供意見回饋,請前往 GitHub 回報問題,或在 Stack Overflow 上提問。