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

私人叢集是虛擬私有雲 (VPC) 原生叢集,僅依賴內部 IP 位址。也就是說,節點和 Pod 預設會與網際網路隔離。本頁面說明如何使用 Cloud Code 連線至具備和不具備公開端點存取權的私人叢集,並允許私人叢集存取 Google Cloud外部的資源。

如要瞭解私人叢集,請參閱「私人叢集」。如需設定私人叢集的步驟,請參閱「建立私人叢集」。

將私人 GKE 叢集新增至 KubeConfig

在 Cloud Code 中新增私人叢集時,會發生下列行為:

  • 如果叢集已啟用公開端點,新增叢集時,KubeConfig 中的叢集位址會設為外部 IP。

  • 如果叢集的公開端點已關閉,新增叢集時,系統會將 KubeConfig 中的叢集位址設為叢集的內部虛擬私有雲 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,透過與叢集位於相同網路或虛擬私有雲的 Proxy 伺服器,將要求傳送至控制層:

  1. 如果尚未在叢集所在的網路上設定 Proxy 伺服器,請先完成這項操作。如要瞭解如何將 Compute Engine VM 設為基本 Proxy 伺服器,請參閱「使用堡壘主機從遠端存取私人叢集」。
  2. 在新增至 Cloud Code 的叢集名稱上按一下滑鼠右鍵,然後點選「Set up Kubectl Proxying for cluster」(設定叢集的 Kubectl Proxying)。按照提示輸入 Proxy 伺服器的名稱,該名稱會儲存在叢集的 proxy-url 欄位中。Kubernetes 檢視畫面會重新載入,顯示已連線的叢集。

取消 Kubernetes Proxy

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

從叢集存取 Google Cloud 外部的資源

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

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

後續步驟

取得支援

如要提供意見,請在 Stack Overflow 提問。如果您是 Google Cloud 客戶,可以透過標準 Google Cloud 支援管道提交支援單。