View a markdown version of this page

Amazon EKS 混合節點閘道 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EKS 混合節點閘道

Amazon EKS 混合節點閘道可自動化 Amazon EKS 叢集 VPC 與在 EKS 混合節點上執行的 Kubernetes Pod 之間的聯網。閘道不需要讓內部部署 Pod 網路可從 VPC 路由或協調網路基礎設施變更。它會在 VPC 中的 EC2-based閘道節點與現場部署環境中的 Cilium 受管混合節點之間建立 VXLAN 通道,並自動維護 VPC 路由表項目,讓流量到達正確的閘道執行個體。

使用案例

混合節點閘道可啟用 VPC 與內部部署環境之間的下列流量流程:

  • 控制平面到 Webhook 通訊 — Kubernetes API 伺服器可以連接在混合節點上執行的 Webhook 端點。如果沒有閘道,除非 Pod CIDRs 在內部部署環境中變成可路由,否則混合節點上的 Webhook 無法從控制平面連線。

  • 跨雲端和內部部署的 Pod-to-pod 流量 — 在 VPC 中 EC2 節點上執行的 Pod 可以直接與在混合節點上執行的 Pod 通訊,反之亦然。

  • AWS 與混合式 Pod 的服務連線 – Application Load Balancer、Network Load Balancer 和 Amazon Managed Service for Prometheus 等 AWS 服務可以連接在混合節點上執行的 Pod。

Architecture

兩個閘道 Pod 會在標記的 EC2 節點上執行為部署。Kubernetes 租用型領導者選擇會決定哪些 Pod 處於作用中狀態。兩個 Pod 都會在啟動時建立 VXLAN 界面,並執行可監看CiliumNode物件的節點對帳程式,因此待命隨時準備好在容錯移轉時在 3-5 秒內轉送流量。只有領導層特定的動作 (VPC 路由表更新CiliumVTEPConfig和管理) 會在領導層變更時轉移。

運作方式

混合節點閘道使用四種機制來啟用連線:

VXLAN 通道 — 閘道會在 UDP 連接埠 8472 (Cilium 預設hybrid_vxlan0) 上建立具有 VNI 2 的 VXLAN 介面 ()。它透過程式設計 VXLAN 界面上的 FDB 項目、ARP 項目和路由,為每個混合節點建立通道。節點控制器會監看CiliumNode物件,並在混合節點聯結或離開叢集時自動新增或移除通道。

VPC 路由表管理 — 當閘道成為領導者時,它會在指定的 VPC 路由表中建立或取代路由。每個路由會將混合 Pod CIDR 指向領導者的主要 ENI,因此以混合 Pod 為目標的 VPC 流量會轉送至作用中閘道執行個體。

Cilium VTEP 整合 — 閘道會建立CiliumVTEPConfig自訂資源,告知混合節點上的 Cilium 代理程式傳送 VPC 繫結流量的位置。組態包含領導者的節點 IP 做為通道端點和 VXLAN 介面 MAC 地址。當混合式 Pod 將流量傳送至 VPC 地址時,Cilium 會將流量封裝在 VXLAN 封包中,並將其傳送至閘道。

領導者選擇 — 閘道使用以 Kubernetes Lease 為基礎的領導者選擇搭配作用中待命模型。兩個閘道 Pod 會在由 Pod 反親和性強制執行的個別節點上執行。兩個 Pod 都會在啟動時建立 VXLAN 界面,並執行節點調校程式,以維護所有混合節點的 VTEP 項目。領導者會執行 VPC 路由表更新和 Cilium VTEP 組態。如果領導者失敗,待命會偵測到租用過期、取得租用,並執行領導者設定序列。預期的容錯移轉時間約為 3–5 秒。

部署模型

混合節點閘道會在 VPC 中的 EC2 執行個體上執行,並使用 Helm Chart 部署。閘道支援下列部署目標:

  • EKS 自動模式 — 您可以建立 NodePoolNodeClass,以使用正確的標籤、污點和來源/目的地檢查組態自動佈建閘道節點。這是建議的組態。

  • EKS 受管節點群組 — 您可以在停用閘道標籤、污點和來源/目的地檢查的情況下建立專用受管節點群組,然後在 Helm 值autoMode.enabled=false中設定 。

對於所有部署目標,建議使用至少兩個節點以獲得高可用性。如需詳細資訊,請參閱EKS 混合節點閘道入門

定價

Amazon EKS 混合節點閘道不收取額外費用,但您需要支付執行閘道的基礎設施成本,包括適用的 EC2 執行個體和 EKS Auto Mode 管理費。如需詳細資訊,請參閱 Amazon EKS 定價

區域可用性

Amazon EKS 混合節點閘道適用於所有可使用 EKS 混合節點 AWS 的區域,但中國區域除外。如需支援區域的目前清單,請參閱 Amazon EKS 混合節點概觀

開放原始碼

Amazon EKS 混合節點閘道程式碼庫是開放原始碼。您可以在 GitHub 儲存庫檢視原始程式碼、報告問題和貢獻。

限制及考量

部署混合節點閘道之前,請考慮下列事項:

  • 無流量加密 — 閘道建立的 VXLAN 通道不會加密流量。如果您需要 VPC 與內部部署環境之間的傳輸中加密,請使用加密傳輸,例如 AWS Direct Connect with MACsec 或 VPN 連接。如需詳細資訊,請參閱 Amazon EKS 中的資料保護

  • 單一叢集 — 每個閘道部署都提供單一 EKS 叢集。如果您有多個具有混合節點的叢集,請為每個叢集部署個別閘道。

  • 需要 Cilium VTEP — 閘道需要 Cilium CNI 的 EKS 版本,並在混合節點上啟用 VTEP 支援。不支援其他 CNI 外掛程式。

後續步驟