日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

應(yīng)用集群組件由于其特性,會部署到容器、虛擬機中,那么組件間的通信就會跨多平臺。虛擬機是通過ArStack管理維護,K8s則由AKE組件管理維護,兩者屬于不同的平臺。當(dāng)虛擬機和容器需要相互“交談”的時候,我們需要以某種方式實現(xiàn)兩個獨立集群之間的通信。本文將介紹通過ArSDN如何實現(xiàn)容器和虛擬機的互通。

實現(xiàn)思路

單個可用區(qū)中部署ArSDN組件,可用區(qū)中的AKE、ArStack都接入ArSDN,由ArSDN接管網(wǎng)絡(luò)平臺的控制和數(shù)據(jù)面流量轉(zhuǎn)發(fā)。

當(dāng)數(shù)據(jù)面統(tǒng)一由ArSDN接管后,則可以將容器、虛擬機統(tǒng)一到一個平臺來管理,可以借助虛擬網(wǎng)絡(luò)的隔離實現(xiàn)集群間的隔離,通過三層路由器、策略等功能實現(xiàn)跨集群間的通信。

可以自由控制容器、虛擬機和裸機的流量。

容器和虛擬機互通的實現(xiàn)方式

容器集群通過CNI插件實現(xiàn)容器的網(wǎng)絡(luò)功能。CNI插件的實現(xiàn)有很多種,本文介紹的是華云數(shù)據(jù)自研的ArSDN CNI。

在容器集群接入ArSDN時,ArSDN CNI會在ArSDN執(zhí)行一些初始化的操作,比如為每個容器集群創(chuàng)建一個Pod網(wǎng)絡(luò)和一個Service網(wǎng)絡(luò)、創(chuàng)建安全策略、網(wǎng)絡(luò)策略等等,容器的IP地址分配以及安全策略都由ArSDN來管理。

Pod創(chuàng)建流程:

CNI組件watch到有新的Pod創(chuàng)建,會在Pod網(wǎng)絡(luò)中創(chuàng)建對應(yīng)的網(wǎng)卡并分配IP地址

Pod在調(diào)度完成后,kubelet會調(diào)用CNI插件創(chuàng)建Pod網(wǎng)卡

CNI插件調(diào)用ArSDN組件獲取Pod網(wǎng)卡信息并完成網(wǎng)卡的創(chuàng)建

容器集群內(nèi)部通信存在幾種場景:

Pod和ApiServer通信:類似coredns這類Pod需要訪問k8s apiserver獲取對應(yīng)的資源并生成域名信息

容器節(jié)點和Pod通信:部分組件會通過域名來訪問Service,最終訪問pod

Pod訪問外網(wǎng):Pod部分頁面需要訪問公網(wǎng)資源,有出外網(wǎng)的需求。可以通過將pod網(wǎng)絡(luò)加入路由器來實現(xiàn)

CNI如何獲取pod網(wǎng)卡信息:cni插件獲取容器網(wǎng)卡信息用來創(chuàng)建虛擬網(wǎng)卡

下面我們通過區(qū)分部署模式來具體介紹每個場景的實現(xiàn)方式

嵌套部署

容器集群如果部署到ArStack的虛擬機中我們稱為嵌套部署場景。嵌套場景中ArSDN本身會負(fù)責(zé)虛擬機的流量,還需要負(fù)責(zé)轉(zhuǎn)發(fā)虛擬機內(nèi)部的容器流量。

在vrouter組件中會為每個容器網(wǎng)卡創(chuàng)建一個獨立的子接口(sub interface),對應(yīng)的父接口是虛擬機的網(wǎng)卡。通過這種實現(xiàn),我們可以將容器網(wǎng)卡和虛擬機網(wǎng)卡抽象到同一個平面來管理,他們在數(shù)據(jù)庫中都對應(yīng)一個virtual-machine-interface只是其中的sub-interface屬性值不同

Pod和ApiServer通信

Pod訪問ApiServer是通過訪問K8S對應(yīng)的Service IP來實現(xiàn)的,Service的后端對應(yīng)集群的管理節(jié)點IP。嵌套場景中虛擬機有兩種網(wǎng)絡(luò):管理網(wǎng)、數(shù)據(jù)網(wǎng),且都是虛擬網(wǎng)絡(luò)。我們通過networkpolicy或者路由器將這兩個虛擬網(wǎng)絡(luò)打通,實現(xiàn)三層通信。這樣Pod在訪問k8s service IP時,流量會轉(zhuǎn)發(fā)到管理ip,此時由于管理網(wǎng)和pod網(wǎng)絡(luò)已經(jīng)三層打通,可以直接通信。

節(jié)點和Pod通信

節(jié)點訪問Pod實際是從管理網(wǎng)訪問Pod網(wǎng)絡(luò),類似上面的做法,管理網(wǎng)和pod網(wǎng)絡(luò)都是虛擬網(wǎng)絡(luò)且已經(jīng)三層打通,可以直接通信

CNI如何獲取Pod網(wǎng)卡信息

由于cni獲取Pod網(wǎng)卡信息的時候,Pod已經(jīng)完成了調(diào)度,也就是說CNI可以直接訪問當(dāng)前節(jié)點的Vrouter組件獲取網(wǎng)卡信息。嵌套場景中CNI是在虛擬機內(nèi)部的,需要通過某種方式來訪問物理節(jié)點上的Vrouter服務(wù)。

這里我們通過link-local來實現(xiàn)流量轉(zhuǎn)發(fā),在訪問某個固定IP和端口的時候,流量在到達物理節(jié)點時直接轉(zhuǎn)換成訪問當(dāng)前節(jié)點IP+端口。這里也就是直接訪問127.0.0.1:9096

非嵌套部署

容器集群部署到ArStack外部虛擬機或者物理裸機中我們稱為非嵌套部署場景。非嵌套場景中容器節(jié)點類似一個計算節(jié)點,會在上面運行Vrouter組件實現(xiàn)跨節(jié)點的數(shù)據(jù)通信。

Pod和ApiServer通信

非嵌套場景中管理網(wǎng)絡(luò)正常都是物理網(wǎng)絡(luò),我們無法通過networkpolicy或者路由器將它和Pod網(wǎng)路打通。在pod訪問k8s service ip時,流量轉(zhuǎn)換成訪問管理IP,但是由于pod網(wǎng)絡(luò)是一個私有網(wǎng)絡(luò),和物理網(wǎng)絡(luò)是隔離的。這里通過link-local將訪問的數(shù)據(jù)包執(zhí)行snat,使得源地址改成Vhost0 IP。此時只需要在物理設(shè)備里將數(shù)據(jù)網(wǎng)絡(luò)和管理網(wǎng)打通,就可以通過vhost0 IP來訪問apiserver了

節(jié)點和Pod通信

節(jié)點訪問pod網(wǎng)絡(luò),默認(rèn)情況下pod網(wǎng)絡(luò)是私有網(wǎng)絡(luò),從節(jié)點來訪問根據(jù)節(jié)點上的路由規(guī)則,會走默認(rèn)路由到外部網(wǎng)絡(luò)中,是無法通信的。這里我們通過將pod網(wǎng)絡(luò)開啟ip-fabric功能,在物理節(jié)點上會動態(tài)創(chuàng)建訪問pod網(wǎng)絡(luò)的路由規(guī)則,使得在訪問pod網(wǎng)絡(luò)時流量轉(zhuǎn)到vhost0中

CNI如何獲取Pod網(wǎng)卡信息

由于在裸機上會直接部署Vrouter,所以CNI可以直接訪問當(dāng)前節(jié)點的Vrouter。相對于嵌套模式不需要進行流量轉(zhuǎn)發(fā)。

K8S有自己的網(wǎng)絡(luò)模型,有service/ingress實現(xiàn)四層和七層負(fù)載均衡功能,通過networkpolicy實現(xiàn)安全功能,還有其他的qos、端口轉(zhuǎn)發(fā)等。ArSDN CNI則將K8S資源模型轉(zhuǎn)換成ArSDN資源模型。

容器和ArStack資源模型對比:

總結(jié)

ArSDN cni將k8s資源模型和ArSDN資源進行轉(zhuǎn)換,打通了兩者之間的架構(gòu)差異。

虛擬機通過加入Pod虛擬網(wǎng)絡(luò)可以實現(xiàn)和容器的二層通信。通過路由器可以實現(xiàn)和容器的三層通信。容器集群間也可以通過網(wǎng)絡(luò)策略或者路由器打通,為多集群網(wǎng)絡(luò)通信提供支持。

分享到:
標(biāo)簽:容器 虛擬機 通信 華云 ArSDN CNI
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定