全部產品
Search
文件中心

Container Service for Kubernetes:ACK託管叢集網路規劃

更新時間:Apr 01, 2025

建議您提前規劃叢集的規模、網路功能需求、Virtual Private Cloud相關配置(VPC自身、交換器等)和叢集網路相關配置(容器網路外掛程式CNI、容器網段、服務網段等),確保網路資源的高效利用,為後續業務擴充預留充足空間。本文介紹如何在阿里雲Virtual Private Cloud環境中規劃符合業務需求的ACK託管叢集網路結構。

網路規模規劃

地區和可用性區域

在同一地區內,各可用性區域之間內網互連。各可用性區域之間可以實現故障隔離,即一個可用性區域出現故障時,不會影響其他可用性區域的正常運行。同一可用性區域內執行個體之間的網路延時更小,其使用者訪問速度更快。您可以綜合考慮以下因素來進行地區和可用性區域規劃。

考慮因素

選擇說明

業務情境對時延的要求

業務最終服務的使用者和資源部署地區的距離越近,網路時延越低,訪問速度越快。

服務支援的地區和可用性區域

不同的阿里雲雲端服務在每個地區/可用性區域的服務支援情況不同,庫存售賣存在差異,建議您在選擇地區/可用性區域時,確保雲端服務可用。

成本

不同地區的雲端服務價格可能會有所不同,建議您根據預算選擇合適的地區。

高可用容災

如果您的應用需要較高的容災能力,您可選擇在同一地區的不同可用性區域內進行部署以實現同城容災。您也可選擇在多地區部署以實現跨城容災,滿足更高的容災能力需求。

合規性

您需要根據所在國家或地區的資料本地化要求與經營性備案政策選擇符合合規要求的地區。

VPC是地區層級的資源,不支援跨地區部署。當您有多地區部署需求時,必須使用多個VPC。您可以使用VPC對等串連、雲企業網等產品實現跨地區VPC間互連。VPC中的交換器是可用性區域層級的資源,有以下事項您需要注意:

  • 當您因為雲端服務庫存因素選擇多個可用性區域時,您需要提前預留足夠的位址區段,並考慮到可用性區域繞行可能造成延時增加;

  • 部分地區僅提供1個可用性區域,例如華東5(南京-本地地區),若您有同城容災需求,建議您謹慎考慮選擇該地區。

說明

關於ACK各產品開服地區的資訊,請參見開服地區

VPC數量

VPC為您提供安全靈活的網路環境,不同VPC之間完全隔離,同一VPC內私網互連。您可以按需規劃您的VPC數量。

適合情境

單VPC

  • 業務規模較小,僅部署在一個地區且不同業務之間沒有網路隔離需求;

  • 初次使用VPC,推薦使用單個VPC用於快速上手以瞭解產品功能;

  • 關注成本,不希望管理跨VPC通訊的複雜配置與潛在費用。

多VPC

  • 業務規模較大,需要部署在不同地區;

  • 單地區的多個業務系統存在網路隔離需求;

  • 業務架構複雜,涉及的眾多服務與團隊需要獨立VPC管理各自資源。

說明

每個使用者在單個地區內可建立的VPC數量預設為10個。您可以前往配額管理頁面配額中心提升配額。

交換器數量

交換器是可用性區域層級的資源,VPC中的所有雲端服務都部署在交換器中。交換器劃分有助您合理規劃IP地址資源,同一VPC內的交換器預設私網互連。

考慮因素

選擇說明

基於業務情境對時延的要求

同一地區不同可用性區域之間的網路通訊延遲很小,但系統調用複雜、跨可用性區域調用等原因可能會增加系統的網路延遲。

高可用和容災

使用一個VPC時,建議您盡量使用至少兩個交換器,並且將兩個交換器部署在不同可用性區域以實現跨可用性區域容災。使用多個可用性區域部署不同業務,統一配置並管理安全管控規則,能夠顯著提升系統的高可用性和容災能力。

業務規模與業務劃分

通常情況下,您可以根據業務模組進行交換器規劃,將不同業務模組部署在不同交換器。例如,您可建立多個交換器將Web層、邏輯層和資料層服務部署在不同交換器以實現標準Web應用架構的託管。

您可以根據以下原則規劃交換器:

  • 使用一個VPC時,也請盡量使用至少兩個交換器,並且將兩個交換器分布在不同可用性區域,這樣當其中一個可用性區域的交換器發生故障時,可以切換到另一個可用性區域的交換器,從而實現跨可用性區域容災。

    同一地區內不同可用性區域之間的網路通訊延遲很小,但也需要經過業務系統的適配和驗證。由於系統調用複雜、跨可用性區域調用等原因可能會增加系統的網路延遲。建議您對系統進行最佳化及適配,以滿足您對高可用和低延遲的實際需求。

  • 具體使用多少個交換器還和系統規模、系統規劃有關。通常情況下,您可以根據業務屬性在VPC內進行交換器規劃。例如,對於直接存取公網的業務部署在一個公有交換器中,其他業務可以根據業務類型進行劃分。使用多個可用性區域部署不同業務有利於安全管控規則的配置與統一管理。

說明

單個VPC支援建立的交換器的數量預設為150個,您可以前往配額管理頁面配額中心提升配額。

叢集規模

叢集節點規模

適用情境

VPC規劃

可用性區域規劃

小於100個節點

非核心業務

單VPC

1個(推薦2個及以上)

100個節點及以上

一般業務,需要多可用性區域

單VPC

2個及以上

100個節點及以上

核心業務,對可靠性有較高要求、需要多地區

多VPC

2個及以上

網路通訊規劃

單VPC內單叢集

在建立VPC時,VPC的網段就已經確定,建立叢集時要為Pod和服務指定一個與這個VPC位址範圍不重疊的新網路段。這樣就能確保叢集內的網路通訊,不會與外部的VPC網路發生衝突。

單VPC內多叢集

一個VPC下建立多個叢集。

  • VPC地址是在建立VPC時已經確定。建立叢集時,每個叢集內的VPC網段、服務網段和Pod網段彼此間不能重疊。

  • 所有叢集之間的Pod網段不能重疊,但服務網段(虛擬網段)可以重疊。

  • 在預設的網路模式下(Flannel),Pod的報文需要通過VPC路由轉寄,ACK託管叢集會自動在VPC路由上配置到每個Pod網段的路由表。

說明

這種情況下叢集部分互連,一個叢集的Pod可以直接存取另一個叢集的Pod和ECS,但不能訪問另一個叢集內部的服務(如Cluster IP類型的服務僅可在叢集內部訪問,如需暴露服務可以使用LoadBalancer類型的服務或Ingress等方式)。

多叢集跨VPC互聯

在如下使用情境中,建議您規劃叢集跨多個VPC互聯。

多地區部署系統

VPC是地區層級的資源,不支援跨地區部署。當您有多地區部署系統的需求時,必須使用多個VPC和多個叢集。您可以通過使用VPC對等串連VPN網關雲企業網等產品實現跨地區VPC間互連。

多業務系統隔離

如果在一個地區的多個業務系統需要通過VPC進行嚴格隔離,例如生產環境和測試環境具備不同的安全和業務部署訴求,生產叢集和測試叢集分別部署到不同VPC可以提供更好的邏輯隔離與安全保障。您同樣可以通過使用VPC對等串連VPN網關雲企業網等產品實現同地區VPC間互連。

大規模業務系統構建

如果您的業務架構複雜,涉及的眾多服務與團隊需要獨立VPC管理各自叢集和資源,以提高靈活性和可管理性,建議您規劃多個VPC和多個叢集。

重要

為了避免在多叢集跨VPC互聯情境中出現IP衝突導致的路由錯誤等問題,新建立的叢集需遵循以下網路規劃要求:

  • 不能和各個VPC的網段重疊

  • 不能和其他叢集的網段重疊

  • 不能和其他叢集Pod的網段重疊

  • 不能和其他叢集服務的網段重疊

雲上叢集與IDC通訊

多叢集跨VPC互聯情境類似,同樣存在VPC裡部分位址區段路由到IDC,叢集的Pod地址就不能和這部分地址重疊。如果IDC裡需要訪問叢集裡的Pod地址,同樣需要在IDC端配置邊界路由器VBR的路由表。

容器網路外掛程式規劃

ACK託管叢集支援Terway和Flannel兩種容器網路外掛程式CNI,使用不同的外掛程式會直接影響到支援的功能和網路設定的方式。如Terway支援NetworkPolicy,提供了基於策略的網路控制,而Flannel不支援;Terway容器網段是從VPC中分配的,而Flannel容器網段為指定的虛擬網段。

重要

容器網路外掛程式需要在建立叢集時進行安裝,且叢集建立後不支援更改。建議在明確網路功能需求之後,再選擇適合您業務的網路外掛程式。

功能規劃

對比項

Terway

Flannel

NetworkPolicy網路原則

支援在ACK叢集使用網路原則

不支援。

IPv4/IPv6雙棧

支援為Pod配置IPv6公網頻寬

不支援。

說明

ACK使用的是經過修改以適配阿里雲雲上環境的Flannel外掛程式,並不與開源社區保持完全同步。ACK Flannel的更新記錄,請參見Flannel

Pod固定IP

支援為Pod配置固定IP及獨立虛擬交換器、安全性群組

不支援。

Pod綁定EIP

支援為Pod掛載獨立公網EIP

不支援。

多叢集互訪

支援,多個叢集的Pod之間只要設定安全性群組開放連接埠就可以互相通訊。

不支援。

關於Terway和Flannel兩種容器網路外掛程式功能的詳細對比,請參見容器網路外掛程式Terway與Flannel對比

網段規劃

重要

ACK託管叢集的託管面使用了7.0.0.0/8網段, 為了避免與託管面網段衝突導致叢集管控訪問問題,您應避免選擇與7.0.0.0/8有重疊的網段。

Terway網路模式

terway

Terway配置樣本

  • Terway單可用性區域配置

    專用網路網段

    交換器網段

    Pod交換器網段

    服務網段

    最大可分配Pod地址數

    192.168.0.0/16

    可用性區域I

    192.168.0.0/19

    192.168.32.0/19

    172.21.0.0/20

    8192

  • Terway多可用性區域配置

    專用網路網段

    交換器網段

    Pod交換器網段

    服務網段

    最大可分配Pod地址數

    192.168.0.0/16

    可用性區域I 192.168.0.0/19

    192.168.32.0/19

    172.21.0.0/20

    8192

    可用性區域J 192.168.64.0/19

    192.168.96.0/19

配置Terway模式網路時,需要設定的參數及參數網段配置的注意事項如下:

  • 專用網路

    • 建議您使用192.168.0.0/16、172.16.0.0/12、10.0.0.0/8三個RFC標準私網網段及其子網作為VPC的主IPv4網段,網段掩碼有效範圍為8~28位。填寫樣本:192.168.0.0/16。

    • 您也可以使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16或7.0.0.0/8及其子網外的自訂位址區段作為VPC的主IPv4網段。

    • 如果有多VPC情境或VPC與本機資料中心構建混合雲情境,建議您使用RFC標準私網網段的子網作為VPC的網段且掩碼不超過16位,且多個VPC間、VPC和本機資料中心的網段不能衝突。

    • IPv6網段在VPC開啟IPv6後由VPC分配。如果您需要使用IPv6容器網路,請選擇Terway網路外掛程式。

  • 交換器

    ECS使用的交換器,用於節點間網路通訊。在VPC裡建立交換器時指定的網段,必須是當前VPC網段的子集(可以和VPC網段一樣,但不能超過)。配置網段時,請注意:

    • 交換器下ECS所分配到的地址,就是從這個交換器網段內擷取的。

    • 一個VPC下,可以建立多個交換器,但交換器網段不能重疊。

    • 交換器和Pod交換器需要在一個可用性區域內。

  • Pod交換器

    Pod地址從該交換器分配,用於Pod網路通訊。Pod是Kubernetes內的概念,每個Pod具有一個IP地址。在VPC裡建立交換器時指定的網段,必須是當前VPC網段的子集。配置網段時,請注意:

    • Terway網路模式下,Pod分配的Pod IP就是從這個交換器網段內擷取的。

    • 該網段不能和服務網段重疊。

    • 交換器Pod交換器需要在一個可用性區域內。

  • 服務網段

    重要

    服務網段建立成功後不能修改。

    服務(Service)是Kubernetes內的概念,對應的是Service類型為ClusterIP時服務使用的地址,每個服務有自己的地址。配置網段時,請注意:

    • 服務地址只在Kubernetes叢集內使用,不能在叢集外使用。

    • 服務網段不能和交換器網段重疊。

    • 服務網段不能和Pod交換器網段重疊。

  • 服務IPv6網段

    開啟IPv6雙棧後,您需要為服務配置IPv6網段。配置網段時,請注意:

    • 必須使用ULA地址,位址區段範圍需在fc00::/7內,且地址前置長度在112~120之間。

    • 推薦和服務網段保持相同的可用地址數量。

Flannel網路模式

Flannel示意圖

Flannel網段配置樣本

專用網路網段

交換器網段

容器網段

服務網段

最大可分配Pod地址數

192.168.0.0/16

192.168.0.0/24

172.20.0.0/16

172.21.0.0/20

65536

配置Flannel模式網路時,需要設定的參數及參數網段配置的注意事項如下:

  • 專用網路

    • 建議您使用192.168.0.0/16、172.16.0.0/12、10.0.0.0/8三個RFC標準私網網段及其子網作為VPC的主IPv4網段,網段掩碼有效範圍為8~28位。填寫樣本:192.168.0.0/16。

    • 您也可以使用除100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16或7.0.0.0/8及其子網外的自訂位址區段作為VPC的主IPv4網段。

    • 如果有多VPC情境或VPC與本機資料中心構建混合雲情境,建議您使用RFC標準私網網段的子網作為VPC的網段且掩碼不超過16位,且多個VPC間、VPC和本機資料中心的網段不能衝突。

    • IPv6網段在VPC開啟IPv6後由VPC分配。如果您需要使用IPv6容器網路,請選擇Terway網路外掛程式。

  • 交換器

    ECS使用的交換器,用於節點間網路通訊。在VPC裡建立交換器時指定的網段,必須是當前VPC網段的子集(可以和VPC網段一樣,但不能超過)。配置網段時,請注意:

    • 交換器下ECS所分配到的地址,就是從這個交換器網段內擷取的。

    • 一個VPC下,可以建立多個交換器,但交換器網段不能重疊。

  • 容器網段

    重要

    容器網段建立成功後不能修改。

    Pod地址從該網段內分配,用於Pod網路通訊。Pod是Kubernetes內的概念,每個Pod具有一個IP地址。配置網段時,請注意:

    • 非VPC交換器,為虛擬網段。

    • 該網段不能和交換器網段重疊。

    • 該網段不能和服務網段重疊。

    例如,VPC網段用的是172.16.0.0/12,Kubernetes的容器網段就不能使用172.16.0.0/16、172.17.0.0/16等,因為這些地址都包含在172.16.0.0/12裡。

  • 服務網段

    重要

    服務網段建立成功後不能修改。

    服務(Service)是Kubernetes內的概念,對應的是Service類型為ClusterIP時服務使用的地址,每個服務有自己的地址。配置網段時,請注意:

    • 服務網段只在Kubernetes叢集內使用,不能在叢集外使用。

    • 服務網段不能和交換器網段重疊。

    • 服務網段不能和容器網段重疊。