Terway Edge網(wǎng)絡(luò)插件
本文介紹在使用ACK Edge集群時,通過Terway Edge作為CNI插件提供Underlay容器網(wǎng)絡(luò)通信。
網(wǎng)絡(luò)架構(gòu)介紹
Terway Edge與ACK集群Pro版中的Terway的不同之處在于其網(wǎng)絡(luò)架構(gòu)劃分為云端和邊緣兩個部分。在云端節(jié)點(diǎn)池采用了與ACK集群Pro版一致的Terway網(wǎng)絡(luò)插件,在邊緣側(cè)則采用Flannel插件。
非跨域容器間通信:云端節(jié)點(diǎn)池以及邊緣節(jié)點(diǎn)池內(nèi)的容器間通信在各自的網(wǎng)絡(luò)域內(nèi)完成,無需額外配置。
跨域容器間通信:若需實(shí)現(xiàn)云端與邊緣容器的通信,應(yīng)通過專線方案打通網(wǎng)絡(luò),并在邊界路由器上配置相應(yīng)路由。以圖為例,云端VPC網(wǎng)段為192.168.0.0/16,邊緣容器網(wǎng)段為10.0.0.0/16。
云端至邊緣通信:在云端的邊界路由器上配置邊緣容器網(wǎng)段(10.0.0.0/16),通過專線連接到IDC路由設(shè)備上,邊緣側(cè)Flannel組件具有BGP宣告能力,將邊緣側(cè)容器網(wǎng)段以及路由宣告給IDC路由設(shè)備,即可實(shí)現(xiàn)從云端到邊緣容器網(wǎng)絡(luò)通信。
邊緣至云端通信:在邊緣側(cè)的IDC路由設(shè)備上配置通往云端容器網(wǎng)段(192.168.0.0/16)的路由,并通過專線連接至云端的邊界路由器,同時在云端邊界路由器上配置該網(wǎng)段到對應(yīng)的VPC內(nèi),即可實(shí)現(xiàn)從邊緣到云端容器網(wǎng)絡(luò)通信。
注意事項(xiàng)
使用Terway Edge網(wǎng)絡(luò)插件時,需要邊緣側(cè)網(wǎng)關(guān)設(shè)備(交換機(jī))支持BGP協(xié)議,并能夠與集群內(nèi)的某些節(jié)點(diǎn)配置BGP鄰居關(guān)系。
在IDC網(wǎng)關(guān)設(shè)備上,容器網(wǎng)段不得與其他網(wǎng)段發(fā)生沖突。
云端網(wǎng)絡(luò)CNI
在ACK Edge集群的云端節(jié)點(diǎn)池采用了阿里云Terway插件,Terway網(wǎng)絡(luò)插件是基于阿里云的虛擬化網(wǎng)絡(luò)中的彈性網(wǎng)卡(ENI)資源構(gòu)建的云原生容器網(wǎng)絡(luò)方案。通過此插件,Pod可以直接分配VPC中的IP地址,具有以下特性:
容器和虛擬機(jī)(ECS)共享相同的網(wǎng)絡(luò)層。
不依賴封包或路由表,分配給容器的網(wǎng)絡(luò)設(shè)備ENI本身可以直接通信。
更多詳細(xì)信息,請參見Terway容器網(wǎng)絡(luò)插件。
邊緣側(cè)網(wǎng)絡(luò)CNI
在ACK Edge集群的邊緣節(jié)點(diǎn)池中,采用Flannel網(wǎng)絡(luò)插件,并且自研Route模式支持Underlay容器網(wǎng)絡(luò)。具有以下特性:
需要為每個節(jié)點(diǎn)設(shè)置獨(dú)立的Pod網(wǎng)段,并均勻劃分,以便每個節(jié)點(diǎn)上的Pod可以從其劃分的網(wǎng)段中分配IP地址。
Flannel會在主機(jī)網(wǎng)絡(luò)棧路由表中配置路由規(guī)則,容器間網(wǎng)絡(luò)通信通過主機(jī)路由轉(zhuǎn)發(fā)到目的Pod所在的主機(jī)。
Flannel具有BGP宣告能力,會將本網(wǎng)絡(luò)域的容器路由宣告給交換機(jī),對于跨域的容器網(wǎng)絡(luò)請求,流量將經(jīng)過交換機(jī)及BGP路由路徑轉(zhuǎn)發(fā)至對應(yīng)網(wǎng)絡(luò)域的網(wǎng)關(guān)設(shè)備,再由其發(fā)送給目的Pod。