全部產品
Search
文件中心

Container Service for Kubernetes:跨域營運通訊組件Raven概述

更新時間:Nov 15, 2024

ACK Edge叢集中,跨域營運通訊組件Raven提供了強大的跨網路域通訊功能,支援在多地區環境中實現高效的雲邊營運,本文主要介紹Raven組件的基本概念、工作原理以及功能說明。

背景資訊

ACK Edge叢集採用了中心雲管理邊緣IDC以及邊緣裝置的雲邊協同架構。在雲上搭建Kubernetes控制面,可以使分散在邊緣側的IDC,以及邊緣基礎設施通過多種網路形態與雲上控制面進行互動,從而以雲原生的方式實現對大規模邊緣裝置的高效管理。

在邊緣雲情境中,計算裝置通常分散在多個地區並處於不同的網路域,這也是邊緣雲情境的典型特徵。因此,邊緣裝置在叢集中通常按照分組進行管理,不同分組的節點之間網路互不連通,應用相對獨立。如圖所示,本地的資料中心或邊緣裝置通常通過公用網路與阿里雲的控制面公網端點建立串連,資料中心、邊緣裝置之間以及和雲上VPC都處於不同的網路平面。

組件介紹

ACK Edge支援節點池層級的多地區分布管理,不同節點池中的節點位於不同的網路域,無法直接通訊,並且可能存在節點IP衝突的問題。為了在這種情境下實現中心化監控營運,在ACK Edge叢集1.26.3及以上版本中提供了Raven Agent組件支援主機、容器層級的監控營運。

工作原理

  • 在每個網路域中選擇一個叢集內節點作為網關節點;獨立的邊緣裝置本身就是自己的網關。

  • Raven Agent組件將以DaemonSet的形式部署在叢集內的所有節點上,並且採用主機網路模式,在網關節點之間構建加密隧道。

  • 雲上組件例如APIServer、MetricsServer、Prometheus等會通過網關節點與其他網路域主機、容器、服務進行通訊。

功能說明

  • 建立ACK Edge叢集時,您需要選擇並且購買至少1台雲上ECS節點,將該節點作為雲上網關節點。

  • 如果邊緣側主機採用公網方式與雲上ACK Edge控制面進行互動,則需要購買一個傳統型負載平衡(CLB)執行個體、存取控制清單(ACL)執行個體和Elastic IP Address(EIP)執行個體,用於不同節點池的網關節點之間構建加密的網路隧道。

  • Raven組件提供兩種模式跨域通訊,代理模式和隧道模式。

    • 代理模式主要支援APIServer、MetricsServer 和 Prometheus等服務的跨域主機網路通訊,例如kubectl logs/exec/attach/top等原生命令。

    • 隧道模式僅支援節點間網路互連的節點池,主要提供雲邊容器網路通訊,例如Prometheus的容器Metrics資料監控。

  • Raven組件支援多地區(多網路域)裝置主機IP衝突情境下的網路通訊。

組件架構

Raven組件包含兩部分,控制面組件ack-edge-yurt-manager和資料面組件raven-agent-ds。Raven組件需要一個自訂叢集資源Gateway來記錄節點資訊和配置資訊,相關資訊,請參見使用跨域營運通訊組件Raven

  • ack-edge-yurt-manager組件會在節點池維度劃分網路域並且建立Gateway資源。

  • raven-agent-ds組件會以DaemonSet的方式部署在叢集的每一個節點上,它負責代理構建網關節點間的隧道以及路由配置等。

Raven組件支援兩種雲邊通訊模式。

  • 代理模式:構建反向 Proxy通道,實現跨域主機網路通訊,網關節點代理跨域的NodeName+Port的七層網路請求。

  • 隧道模式:構建VPN隧道,實現跨域容器網路通訊,網關節點轉寄跨網路域的容器網路鏈路。

代理模式

  • 被選舉的邊緣網關節點會主動與雲上網關節點建立加密的反向通道。

  • 對於單獨的節點(Solo Node),其本身就為網關節點,與雲上網關節點構建通道。

  • 雲上的跨域請求會通過雲上網關節點轉寄到邊緣側網關節點,由該節點代理訪問本網路域內的目標服務。

隧道模式

  • 僅支援節點間網路互連的節點池。

  • 邊緣側被選舉的網關節點會主動與雲上網關節點構建IPSec加密的VPN隧道。

  • Raven Agent在本網路域內構建 VXLAN網路,將跨域容器網路請求轉寄到網關節點。

  • 本網路域內的容器間通訊通過Flannel VXLAN進行通訊。

  • 跨網路域的請求將被攔截,並通過Raven VXLAN傳送到網關節點,通過VPN隧道實現通訊。

重要

由於跨域通訊通過公網傳輸,可能存在資料丟失風險,請勿傳輸重要業務資料。如在使用過程中遇到問題或有相關產品建議,請提交工單聯絡Container Service團隊。

相關文檔

  • 如您需要更改通訊模式、配置存取控制白名單或使用自訂資源Gateway進行特殊配置,請參見使用跨域營運通訊組件Raven

  • ACK Edge叢集會不斷迭代raven-agent-ds組件,詳細的變更記錄,請參見raven-agent-ds