本頁面說明 Google Kubernetes Engine (GKE) 私人叢集的運作方式。您也可以瞭解如何建立私人叢集。
私人叢集使用的節點沒有外部 IP 位址。也就是說,網際網路上的用戶端無法連線至節點的 IP 位址。私有叢集非常適合需要控管存取權的工作負載,例如因資料隱私權和安全法規而需要控管存取權的工作負載。
私人叢集適用於 Standard 或 Autopilot 模式。
私人叢集架構
與公開叢集不同,私人叢集同時具有控制層內部端點和控制層外部端點。
下圖為私有叢集的架構總覽:
私人叢集的核心元件如下:
控制層:控制層同時具有內部端點 (用於內部叢集通訊) 和外部端點。您可以選擇停用外部端點。
節點:節點只會使用內部 IP 位址,與公開網際網路隔離。
虛擬私有雲網路:這是虛擬網路,您可以在其中建立子網路,並為叢集的節點和 Pod 設定專用的內部 IP 位址範圍。
私人 Google 存取權:在叢集的子網路上啟用這項功能後,節點就能透過內部 IP 位址存取重要的 Google Cloud API 和服務,無須使用公開 IP 位址。舉例來說,私人叢集必須具備私人 Google 存取權,才能從 Artifact Registry 存取容器映像檔,以及將記錄傳送至 Cloud Logging。私人叢集預設會啟用私人 Google 存取權,但共用 VPC 叢集除外,這類叢集需要手動啟用。
私人叢集的控制層
每個 GKE 叢集都有 Kubernetes API 伺服器,由控制層管理。
控制層會在 Google 代管專案的 VPC 網路中,透過虛擬機器 (VM) 執行。區域叢集有多個控制層副本,每個副本都會在自己的 VM 上執行。
在私人叢集中,控制層的虛擬私有雲網路會透過虛擬私有雲網路對等互連,連至叢集的虛擬私有雲網路。您的虛擬私有雲網路包含叢集節點,Google 管理的 Google Cloud虛擬私有雲網路則包含叢集的控制層。
節點與控制層間的傳輸全部交由內部 IP 位址來做導向。如果您使用 VPC 網路對等互連,將叢集的 VPC 網路連線至第三方網路,第三方網路就無法存取控制層 VPC 網路中的資源。這是因為虛擬私有雲網路對等互連僅支援直接對等互連網路之間的通訊,且第三個網路無法與控制層網路對等互連。詳情請參閱虛擬私有雲網路對等互連限制。
私人叢集中的端點
私人叢集的控制層除了外部端點外,還有內部端點。
內部端點是控制層虛擬私有雲網路中的內部 IP 位址。在私人叢集中,節點一律會與控制層的內部端點通訊。視設定而定,您也可以使用 kubectl
等工具管理叢集,這些工具也會連線至私人端點。使用與私人叢集相同子網路的任何 VM,也可以存取內部端點。
外部端點是控制層的外部 IP 位址。根據預設,kubectl
等工具會透過外部端點與控制層通訊。
叢集端點存取權選項
您可以使用下列其中一種設定,控管端點的存取權:
停用外部端點存取權:防止對控制層的一切網際網路存取,這是最安全的選項。如果已將內部部署網路設定為使用 Cloud Interconnect 或 Cloud VPN 連線至Google Cloud ,相當建議選擇此選項。
如果停用外部端點存取權,則必須為內部端點設定授權網路。否則,您只能從叢集節點或與叢集位於相同子網路的 VM 連線至內部端點。啟用這項設定後,授權網路必須是內部 IP 位址。
啟用外部端點存取權,啟用授權網路: 在這個設定中,授權網路會套用至控制層的外部端點。如果您需要從未透過 Cloud Interconnect 或 Cloud VPN 連線至叢集虛擬私有雲網路的來源網路管理叢集,建議選擇此選項。
啟用外部端點存取權,停用授權網路:這是預設設定,也是限制最少的選項。由於您未啟用授權網路,只要通過驗證,即可從任何來源 IP 位址管理叢集。
重複使用虛擬私有雲網路對等互連
如果叢集位於相同Google Cloud 區域或地區,且使用相同的虛擬私有雲網路,則在 2020 年 1 月 15 日後建立的私人叢集會使用通用虛擬私有雲網路對等互連連線。
區域叢集:在區域中建立的第一個私人叢集,會產生新的虛擬私人雲端網路對等互連連線,連至控制層的虛擬私人雲端網路。您在相同區域和虛擬私有雲網路中建立的其他區域私人叢集,會使用相同的對等互連連線。
區域叢集:在區域中建立的第一個私人叢集,會產生與控制層虛擬私有雲網路的新虛擬私有雲網路對等互連連線。您在相同區域和虛擬私有雲網路中建立的其他區域私人叢集,會使用相同的對等互連連線。
區域和地區叢集會使用自己的對等互連連線,即使位於相同區域也不會受影響。例如:
在
us-east1-b
地區中建立兩個以上的區域私人叢集,並將這些叢集設為使用相同的虛擬私有雲網路。兩個叢集使用相同的對等互連連線。在
us-east1
區域中建立兩個以上的區域私人叢集,並將這些叢集設為與區域叢集使用相同的 VPC 網路。這些區域叢集會彼此使用相同的 VPC 網路對等互連連線,但需要不同的對等互連連線,才能與區域叢集通訊。
2020 年 1 月 15 日前建立的所有私人叢集,都使用唯一的虛擬私有雲網路對等互連連線。換句話說,這些叢集不會與其他區域或地區叢集使用相同的對等互連連線。如要在這些叢集上啟用虛擬私有雲網路對等互連重複使用功能,可以刪除叢集並重新建立。升級叢集不會導致叢集重複使用現有的虛擬私有雲網路對等互連連線。
如要檢查私人叢集是否使用共用的虛擬私有雲網路對等互連連線,請參閱「驗證虛擬私有雲對等互連連線重複使用情形」。
限制
如果叢集已啟用虛擬私有雲網路對等互連重複使用功能,每個區域或地區最多可支援 75 個私人叢集。
舉例來說,您可以在
us-east1-b
中建立最多 75 個私人區域叢集,並在us-east1
中建立另外 75 個私人區域叢集。如果您在共用虛擬私有雲網路中使用私人叢集,也適用這項規定。單一虛擬私有雲網路的連線數上限為 25,這表示您只能使用 25 個不重複的位置建立私人叢集。
虛擬私有雲網路對等互連的重複使用功能僅適用於相同位置的叢集,例如相同區域中的區域叢集,或相同可用區中的可用區叢集。如果您在該區域的所有可用區中建立區域叢集和可用區叢集,每個區域最多可有四個 VPC 網路對等互連。
如果是 2020 年 1 月 15 日前建立的叢集,每個虛擬私有雲端網路最多可與 25 個其他虛擬私有雲端網路對等互連,因此每個網路最多只能有 25 個私人叢集 (假設對等互連未用於其他用途)。