本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

使用Terway Edge網路外掛程式

更新時間:2025-01-16 19:43

Terway Edge網路外掛程式是基於Terway和自研Flannel Route模式在ACK Edge叢集提供的Underlay容器網路外掛程式,容器網路外掛程式需要在建立叢集時進行安裝,並且叢集建立之後不支援更改。本文介紹如何配置Terway Edge網路外掛程式。

在建立叢集時安裝Terway網路外掛程式

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊建立叢集

  3. 單擊ACK Edge 叢集頁簽,為Terway網路外掛程式配置叢集網路的關鍵參數。

    配置項

    說明

    配置項

    說明

    專用網路

    叢集使用的VPC。

    網路外掛程式

    選擇Terway Edge

    交換器

    叢集中節點所使用的虛擬交換器網段。建議選擇來自3個及以上不同可用性區域的交換器,以達到更高叢集可用性等級。

    Pod 交換器

    雲端Pod所使用的虛擬交換器網段,可以與節點虛擬交換器網段重合。

    Service CIDR

    Service所使用的網段,不能與節點及Pod的網段重合。

    Pod網路CIDR

    邊緣側可供分配的容器網路IP段,請參見Kubernetes叢集網路規劃

    節點 Pod 數量

    邊緣節點上最大可支援建立的Pod數量。

專線模式下的網路基礎設施管理

如果您希望將IDC以專線的方式接入到ACK Edge叢集中,在本地IDC和阿里雲Virtual Private Cloud之間構建安全、穩定、高速的私網通訊,以阿里雲Express Connect為例,您需要進行以下網路設定:

  1. 以下圖為例,本地IDC主機網段為172.16.0.0/16,雲端VPC網段為192.168.0.0/16,邊緣Pod網路CIDR為10.0.0.0/8,由邊緣/本地IDC訪問中心雲的路由稱為上行路由、由中心雲訪問本地IDC/邊緣裝置被稱之為下行路由。

  2. 分別在本地IDC內交換器、網關裝置、邊界路由器以及專線網關或雲企業網配置訪問阿里雲VPC(192.168.0.0/16)的上行路由,上行請求可以到達位於VPC的ACK Edge管控面、ECS等產品。

  3. 對應也需配置下行路由,確保雲端ACK Edge控制面、ECS、容器訪問IDC主機網段(172.16.0.0/16)和容器網段(10.0.0.0/8)的請求能夠到達本地IDC。

  4. 專線配置需要根據具體情境進行自訂,詳細描述及配置方式請參見Express Connect

雲端使用Terway組件

Terway Edge網路外掛程式在雲端節點池與ACK叢集Pro版的Terway組件的工作模式一致,使用方法請參見Terway網路外掛程式

說明

目前ACK Edge叢集的Terway僅支援共用ENI模式、暫不支援DataPath、NetworkPolicy、Trunk ENI等能力。

ENS網路中使用Terway組件

Terway Edge網路外掛程式在ENS節點中基於ENS彈性網卡提供容器網路通訊。詳細資料,請參見在ENS網路中使用Terway

邊緣使用Flannel組件

Terway Edge網路外掛程式在邊緣側採用Flannel網路外掛程式自研的Route模式。節點接入之後,ACK Edge叢集控制面會自動為節點分配一個Pod CIDR網段,這個節點上的Pod IP地址會從這個網段中分配,並且在宿主機路由表中配置好容器路由。

使用BGP宣告容器路由

當兩台節點上的容器進行跨節點通訊時,容器網路資料包需要通過主機的網路棧進行轉寄。

  • 當兩台主機位於同一個區域網路中,可以通過節點主機路由(Flannel會配置主機路由)找到目的主機地址,進行容器網路資料包的傳輸。

  • 當兩台主機位於不同的區域網路中,容器網路資料包就會通過主機轉寄到外部的網路裝置上,但由於網路裝置缺乏容器網段的路由配置,因此無法完成容器網路資料包的傳輸。

Flannel宣告容器網段路由

為了將容器路由配置到外部的網路裝置上,Flannel的Route模式會啟動一個BGP服務,與外部網路裝置構建BGP會話,動態將本區域網路內的容器網路宣告給網路裝置。

配置BGP宣告容器路由

說明

外部網路裝置(三層交換器)需支援BGP協議,並可進行配置操作。

BGPPeer是一個新的CRD(Custom Resource Definition)用於配置BGP鄰居。

步驟一:配置叢集內BGP用戶端

  1. 請將以下內容複寫到bgppeer.yaml檔案中,並根據您的需求進行自訂配置。

    apiVersion: network.openyurt.io/v1alpha1
    kind: BGPPeer
    metadata:
      name: peer
    spec:
      localSpeakers:
        - node-1
        - node-2
      localAsNumber: 65010
      peerIP: 172.16.0.1
      peerAsNumber: 65001
      nodeSelector: alibabacloud.com/nodepool-id=npxxx
      # 可選項
      authPassword:
        secretKeyRef:
          name: bgp-secret
          key: password
    ---
    #可選項
    apiVersion: v1
    kind: Secret
    metadata:
      name: bgp-secret
      namespace: kube-system
    type: Opaque
    data:
      password: bXlTZWNyZXRWYWx1ZQ==  # base64編碼的值。

    參數說明:

    參數

    是否必填

    說明

    參數

    是否必填

    說明

    metadata.name

    BGPPeer的名稱。

    spec.localSpeakers

    叢集內的BGP用戶端節點。全量宣告本區域網路的所有節點容器網段,建議選擇2個及以上節點。

    spec.localAsNumber

    BGPPeer的ASN,也是BGP用戶端所在的自治系統的編號。ASN在BGP協議中的自治系統唯一識別碼,一般一個區域網路是一個自治系統,私人ASN的範圍為(64512,65535)。

    spec.peerIP

    區域網路網關/三層交換器裝置地址,用於和叢集內BGP用戶端節點之間構建BGP會話。

    spec.peerAsNumber

    區域網路網關/三層交換器裝置的ASN。

    spec.gateway

    自訂指定跨自治域容器通訊的網關地址,預設為該區域網路的網關/交換器地址。

    spec.nodeSelector

    節點選取器。用於選擇屬於本BGPPeer自治系統的節點。建議用節點池label選擇一個節點池的所有節點,如果所有邊緣節點都位於一個區域網路,即一個自治系統,可以配置為all()

    spec.authPassword

    建立BGP會話的密碼。首先建立一個K8s資源Secret,要求必須在kube-system命名空間中,將這個Secret的Key記錄到本欄位中,需要標註Secret的Name,以及密碼的Key。

  2. 執行以下命令,建立BGPPeer。

    kubectl apply -f bgppeer.yaml
  3. 執行以下命令,查看BGPPeer應用狀態。

    kubectl get bgppeer peer

    預期輸出:

    NAME   LOCALSPEAKERS         LOCALASNUMBER   PEERIP         PEERASNUMBER     AGE
    peer   ["node-1","node-2"]   65010           172.16.0.1     65001            10m

步驟二:配置外部網路裝置啟動BGP服務

重要
  • 建議您在叢集中選擇至少三個節點作為BGP對端,保證在組件升級過程中保持BGP會話,避免因容器路由老化導致容器網路不通。

  • Terway Edge預設開啟BGP GracefulRestart,預設時間為600秒,請您合理配置交換器的BGP GracefulRestart。

  1. 根據您網路裝置的型號以及BGP服務的配置方式啟動BGP服務。

  2. 在網路裝置上,將步驟1中選擇的BGP節點配置為BGP鄰居,並且確保可以成功建立BGP會話。

步驟三:檢查BGP會話是否成功建立並且發行容器路由

  1. 查看BGPPeer的Events。

    kubectl describe bgppeers peer-1

    輸出的Event中如果包含FailedEstablish資訊,則表示BGP會話建立失敗。

  2. 檢查交換器是否包含容器路由。

  • 本頁導讀 (1, M)
  • 在建立叢集時安裝Terway網路外掛程式
  • 專線模式下的網路基礎設施管理
  • 雲端使用Terway組件
  • ENS網路中使用Terway組件
  • 邊緣使用Flannel組件
  • 使用BGP宣告容器路由
  • Flannel宣告容器網段路由
  • 配置BGP宣告容器路由
  • 步驟一:配置叢集內BGP用戶端
  • 步驟二:配置外部網路裝置啟動BGP服務
  • 步驟三:檢查BGP會話是否成功建立並且發行容器路由
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare