云環(huán)境下基于Kubernetes集群系統(tǒng)的容器網(wǎng)絡(luò)研究與優(yōu)化
發(fā)布時(shí)間:2021-07-05 10:39
輕量級(jí)云基礎(chǔ)架構(gòu)對(duì)微服務(wù)的重要性不言而喻,很多基于容器的虛擬化服務(wù)被相繼提出。在網(wǎng)絡(luò)方面,容器網(wǎng)絡(luò)接口技術(shù)保證了基于虛擬機(jī)的云和容器之間的連接異構(gòu)網(wǎng)絡(luò)服務(wù)。為了提高云系統(tǒng)的網(wǎng)絡(luò)性能,文章研究了基于CNI技術(shù)的網(wǎng)絡(luò)配置的詳細(xì)設(shè)計(jì),對(duì)基于Flannel的Kubernetes集群系統(tǒng)進(jìn)行優(yōu)化,提出了一種自適應(yīng)Overlay Network與Directrouting結(jié)合模式的容器網(wǎng)絡(luò),并與多種基于CNI的網(wǎng)絡(luò)拓展件性能進(jìn)行了對(duì)比。針對(duì)集群網(wǎng)絡(luò)無(wú)網(wǎng)絡(luò)策略的缺陷,文章將Canal引入Flannel構(gòu)架,增加了集群系統(tǒng)的網(wǎng)絡(luò)策略功能,提高了網(wǎng)絡(luò)訪(fǎng)問(wèn)安全性。文章搭建了測(cè)試集群系統(tǒng),利用網(wǎng)絡(luò)性能測(cè)試工具Iperf3對(duì)常見(jiàn)容器網(wǎng)絡(luò)進(jìn)行了性能測(cè)試。結(jié)果顯示,該方案比原Flannel集群系統(tǒng)的容器網(wǎng)絡(luò)傳輸速率平均提升25%左右,與其他方案相比,傳輸速率也有提升。該方案有利于實(shí)際環(huán)境集群系統(tǒng)的性能提升,實(shí)現(xiàn)了網(wǎng)絡(luò)訪(fǎng)問(wèn)控制,增加了安全性。
【文章來(lái)源】:信息網(wǎng)絡(luò)安全. 2020,20(03)北大核心CSCD
【文章頁(yè)數(shù)】:9 頁(yè)
【部分圖文】:
網(wǎng)絡(luò)策略工作原理
Kubernetes集群由Matster和Node兩類(lèi)節(jié)點(diǎn)構(gòu)成。Master上運(yùn)行Etcd、APIServer、Controller Manager和Scheduler組件,是集群的控制中心,主要負(fù)責(zé)集群的管控和調(diào)度。每個(gè)Node節(jié)點(diǎn)運(yùn)行Kubelet、Proxy和Docker守護(hù)進(jìn)程,管理其上運(yùn)行的Pod,實(shí)現(xiàn)服務(wù)代理功能,如圖4所示。API是整個(gè)集群模塊間通信的核心。通過(guò)API將信息存儲(chǔ)在Etcd,控制器、調(diào)度器讀取信息后,實(shí)現(xiàn)模塊間通信。Etcd是Core OS公司開(kāi)發(fā)并維護(hù)的分布式Key-value存儲(chǔ)系統(tǒng),可以為集群提供持久化的配置存儲(chǔ)[14]。Flannel作為Kubernetes的網(wǎng)絡(luò)插件,可以構(gòu)建跨主機(jī)的網(wǎng)絡(luò),協(xié)助Kubernetes為每個(gè)Node上的Pod分配不沖突的地址,建立覆蓋網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)通信。
此外,大批第三方解決方案豐富了Docker在實(shí)際生產(chǎn)環(huán)境中的應(yīng)用部署,彌補(bǔ)了Docker集群網(wǎng)絡(luò)性能不足、功能缺失的問(wèn)題,通過(guò)Kubernetes的CNI接口接入第三方網(wǎng)絡(luò)插件。文獻(xiàn)[9]開(kāi)發(fā)了跨主機(jī)通信容器網(wǎng)絡(luò)插件Calico和Weave。Calico插件配置復(fù)雜,完全利用路由規(guī)則實(shí)現(xiàn)動(dòng)態(tài)組網(wǎng),路由數(shù)量等于容器數(shù)量,路由規(guī)則多,運(yùn)行中容易超出節(jié)點(diǎn)處理能力,限制了網(wǎng)絡(luò)擴(kuò)張。Weave[10,11]插件自定義了數(shù)據(jù)包封包與解封的過(guò)程,傳輸效率損失較大,配置復(fù)雜,組網(wǎng)過(guò)程繁瑣,自動(dòng)化程度較低[10]。文獻(xiàn)[12]創(chuàng)建了基于Macvlan的虛擬網(wǎng)絡(luò),在容器中搭建虛擬網(wǎng)卡組建容器網(wǎng)絡(luò),實(shí)現(xiàn)了連接多臺(tái)主機(jī)的Docker容器。Kubernetes作為完備的容器化管理部署平臺(tái),使用場(chǎng)景和業(yè)務(wù)組件之間的關(guān)系都很復(fù)雜[7]。Flannel網(wǎng)絡(luò)插件可以協(xié)助Kubernetes為每一個(gè)Node上的Docker容器分配不同的IP地址,并為這些IP地址之間建立一個(gè)覆蓋網(wǎng)絡(luò),通過(guò)覆蓋網(wǎng)絡(luò)將數(shù)據(jù)再封裝一層并傳輸至目標(biāo)容器,如圖2所示。
【參考文獻(xiàn)】:
期刊論文
[1]微服務(wù)應(yīng)用平臺(tái)的網(wǎng)絡(luò)性能研究與優(yōu)化[J]. 畢小紅,劉淵,陳飛. 計(jì)算機(jī)工程. 2018(05)
[2]基于Macvlan的Docker容器網(wǎng)絡(luò)架構(gòu)研究[J]. 李巍,趙永彬,王鷗,剛毅凝. 機(jī)械設(shè)計(jì)與制造. 2017(05)
碩士論文
[1]微服務(wù)環(huán)境下docker容器調(diào)度策略的研究與實(shí)現(xiàn)[D]. 郭楊虎.北京郵電大學(xué) 2018
本文編號(hào):3265918
【文章來(lái)源】:信息網(wǎng)絡(luò)安全. 2020,20(03)北大核心CSCD
【文章頁(yè)數(shù)】:9 頁(yè)
【部分圖文】:
網(wǎng)絡(luò)策略工作原理
Kubernetes集群由Matster和Node兩類(lèi)節(jié)點(diǎn)構(gòu)成。Master上運(yùn)行Etcd、APIServer、Controller Manager和Scheduler組件,是集群的控制中心,主要負(fù)責(zé)集群的管控和調(diào)度。每個(gè)Node節(jié)點(diǎn)運(yùn)行Kubelet、Proxy和Docker守護(hù)進(jìn)程,管理其上運(yùn)行的Pod,實(shí)現(xiàn)服務(wù)代理功能,如圖4所示。API是整個(gè)集群模塊間通信的核心。通過(guò)API將信息存儲(chǔ)在Etcd,控制器、調(diào)度器讀取信息后,實(shí)現(xiàn)模塊間通信。Etcd是Core OS公司開(kāi)發(fā)并維護(hù)的分布式Key-value存儲(chǔ)系統(tǒng),可以為集群提供持久化的配置存儲(chǔ)[14]。Flannel作為Kubernetes的網(wǎng)絡(luò)插件,可以構(gòu)建跨主機(jī)的網(wǎng)絡(luò),協(xié)助Kubernetes為每個(gè)Node上的Pod分配不沖突的地址,建立覆蓋網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)通信。
此外,大批第三方解決方案豐富了Docker在實(shí)際生產(chǎn)環(huán)境中的應(yīng)用部署,彌補(bǔ)了Docker集群網(wǎng)絡(luò)性能不足、功能缺失的問(wèn)題,通過(guò)Kubernetes的CNI接口接入第三方網(wǎng)絡(luò)插件。文獻(xiàn)[9]開(kāi)發(fā)了跨主機(jī)通信容器網(wǎng)絡(luò)插件Calico和Weave。Calico插件配置復(fù)雜,完全利用路由規(guī)則實(shí)現(xiàn)動(dòng)態(tài)組網(wǎng),路由數(shù)量等于容器數(shù)量,路由規(guī)則多,運(yùn)行中容易超出節(jié)點(diǎn)處理能力,限制了網(wǎng)絡(luò)擴(kuò)張。Weave[10,11]插件自定義了數(shù)據(jù)包封包與解封的過(guò)程,傳輸效率損失較大,配置復(fù)雜,組網(wǎng)過(guò)程繁瑣,自動(dòng)化程度較低[10]。文獻(xiàn)[12]創(chuàng)建了基于Macvlan的虛擬網(wǎng)絡(luò),在容器中搭建虛擬網(wǎng)卡組建容器網(wǎng)絡(luò),實(shí)現(xiàn)了連接多臺(tái)主機(jī)的Docker容器。Kubernetes作為完備的容器化管理部署平臺(tái),使用場(chǎng)景和業(yè)務(wù)組件之間的關(guān)系都很復(fù)雜[7]。Flannel網(wǎng)絡(luò)插件可以協(xié)助Kubernetes為每一個(gè)Node上的Docker容器分配不同的IP地址,并為這些IP地址之間建立一個(gè)覆蓋網(wǎng)絡(luò),通過(guò)覆蓋網(wǎng)絡(luò)將數(shù)據(jù)再封裝一層并傳輸至目標(biāo)容器,如圖2所示。
【參考文獻(xiàn)】:
期刊論文
[1]微服務(wù)應(yīng)用平臺(tái)的網(wǎng)絡(luò)性能研究與優(yōu)化[J]. 畢小紅,劉淵,陳飛. 計(jì)算機(jī)工程. 2018(05)
[2]基于Macvlan的Docker容器網(wǎng)絡(luò)架構(gòu)研究[J]. 李巍,趙永彬,王鷗,剛毅凝. 機(jī)械設(shè)計(jì)與制造. 2017(05)
碩士論文
[1]微服務(wù)環(huán)境下docker容器調(diào)度策略的研究與實(shí)現(xiàn)[D]. 郭楊虎.北京郵電大學(xué) 2018
本文編號(hào):3265918
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3265918.html
最近更新
教材專(zhuān)著