电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

瀏覽:4日期:2024-11-05 13:27:02
overlay網(wǎng)絡解析

內(nèi)置跨主機的網(wǎng)絡通信一直是Docker備受期待的功能,在1.9版本之前,社區(qū)中就已經(jīng)有許多第三方的工具或方法嘗試解決這個問題,例如Macvlan、Pipework、Flannel、Weave等。

雖然這些方案在實現(xiàn)細節(jié)上存在很多差異,但其思路無非分為兩種: 二層VLAN網(wǎng)絡和Overlay網(wǎng)絡

簡單來說,二層VLAN網(wǎng)絡解決跨主機通信的思路是把原先的網(wǎng)絡架構改造為互通的大二層網(wǎng)絡,通過特定網(wǎng)絡設備直接路由,實現(xiàn)容器點到點的之間通信。這種方案在傳輸效率上比Overlay網(wǎng)絡占優(yōu),然而它也存在一些固有的問題。

這種方法需要二層網(wǎng)絡設備支持,通用性和靈活性不如后者。

由于通常交換機可用的VLAN數(shù)量都在4000個左右,這會對容器集群規(guī)模造成限制,遠遠不能滿足公有云或大型私有云的部署需求; 大型數(shù)據(jù)中心部署VLAN,會導致任何一個VLAN的廣播數(shù)據(jù)會在整個數(shù)據(jù)中心內(nèi)泛濫,大量消耗網(wǎng)絡帶寬,帶來維護的困難。

相比之下,Overlay網(wǎng)絡是指在不改變現(xiàn)有網(wǎng)絡基礎設施的前提下,通過某種約定通信協(xié)議,把二層報文封裝在IP報文之上的新的數(shù)據(jù)格式。這樣不但能夠充分利用成熟的IP路由協(xié)議進程數(shù)據(jù)分發(fā);而且在Overlay技術中采用擴展的隔離標識位數(shù),能夠突破VLAN的4000數(shù)量限制支持高達16M的用戶,并在必要時可將廣播流量轉(zhuǎn)化為組播流量,避免廣播數(shù)據(jù)泛濫。

因此,Overlay網(wǎng)絡實際上是目前最主流的容器跨節(jié)點數(shù)據(jù)傳輸和路由方案。

容器在兩個跨主機進行通信的時候,是使用overlay network這個網(wǎng)絡模式進行通信;如果使用host也可以實現(xiàn)跨主機進行通信,直接使用這個物理的ip地址就可以進行通信。overlay它會虛擬出一個網(wǎng)絡比如10.0.2.3這個ip地址。在這個overlay網(wǎng)絡模式里面,有類似于服務網(wǎng)關的地址,然后把這個包轉(zhuǎn)發(fā)到物理服務器這個地址,最終通過路由和交換,到達另一個服務器的ip地址。

docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

環(huán)境介紹

hostname ip 系統(tǒng)版本 cdh1 10.30.10.111 centos7 cdh2 10.30.10.112 centos7

consul安裝配置

要實現(xiàn)overlay網(wǎng)絡,我們會有一個服務發(fā)現(xiàn)。比如說consul,會定義一個ip地址池,比如10.0.2.0/24之類的。上面會有容器,容器的ip地址會從上面去獲取。獲取完了后,會通過ens33來進行通信,這樣就可以實現(xiàn)跨主機的通信。

docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

consul通過docker部署在cdh1,首先需要修改cdh1中的docker配置并重啟

[root@cdh1 /]# vim /etc/docker/daemon.json//添加以下配置'live-restore':true[root@cdh1 /]# systemctl restart docker

“l(fā)ive-restore”:true 此配置的作用為在docker守護程序停止或重啟的時候,容器依然可以保持運行

在cdh1下載consul鏡像并啟動

[root@cdh1 /]# docker pull consul[root@cdh1 /]# docker run -d -p 8500:8500 -h consul --name consul consul

修改cdh1中的docker配置并重啟

[root@cdh1 /]# vim /etc/docker/daemon.json# 添加以下兩行配置'cluster-store': 'consul://10.30.10.111:8500''cluster-advertise': '10.30.10.111:2375'[root@cdh1 /]# systemctl restart docker

修改cdh2中的docker配置并重啟

[root@cdh2 /]# vim /etc/docker/daemon.json# 添加以下兩行配置'cluster-store': 'consul://10.30.10.111:8500''cluster-advertise': '10.30.10.112:2375'[root@cdh2 /]# systemctl restart docker

cluster-store指定的是consul服務地址,因為consul服務運行在cdh1的8500端口,所以兩臺機器的cluster-store值均為consul://10.30.10.111:8500cluster-advertise指定本機與consul的通信端口,所以指定為本機的2375端口

此時可以通過http://10.30.10.111:8500/訪問consul地址在Key/Value菜單中的docker-nodes目錄中可以看到cdh1和cdh2兩個docker節(jié)點,代表consul配置成功。

docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

創(chuàng)建overlay網(wǎng)絡

此時我們可以創(chuàng)建overlay網(wǎng)絡,首先查看目前節(jié)點中已有的網(wǎng)絡類型

[root@cdh1 /]# docker network lsNETWORK ID NAME DRIVER SCOPEab0f335423a1 bridge bridge localb12e70a8c4e3 host host local0dd357f3ecae none null local

然后在cdh1的docker節(jié)點創(chuàng)建overlay網(wǎng)絡,因為此時consul服務發(fā)現(xiàn)已經(jīng)正常運行,且cdh1和cdh2的docker服務已經(jīng)接入,所以此時overlay網(wǎng)絡是全局創(chuàng)建的,在任何一臺宿主機創(chuàng)建一次即可。

[root@cdh1 /]# docker network create -d overlay my_overlaycafa97c5cf9d30dd6cef08a5e9710074c828cea3fdd72edb45315fb4b1bfd84c[root@cdh1 /]# docker network lsNETWORK ID NAME DRIVER SCOPEab0f335423a1 bridge bridge localb12e70a8c4e3 host host localcafa97c5cf9d my_overlay overlay global0dd357f3ecae none null local

此時可以看到,創(chuàng)建的overlay網(wǎng)絡,標識為golbal。我們可以查看cdh2的網(wǎng)絡,可以發(fā)現(xiàn)overlay網(wǎng)絡也已經(jīng)創(chuàng)建完畢。

[root@cdh2 ~]# docker network lsNETWORK ID NAME DRIVER SCOPE90d99658ee8f bridge bridge local19f844200737 host host localcafa97c5cf9d my_overlay overlay global3986fe51b271 none null local網(wǎng)絡測試

創(chuàng)建完成后,我們可以在cdh1和cdh2中指定overlay網(wǎng)絡創(chuàng)建docker容器,并進行測試,查看是否可以跨宿主機通信。

在cdh1中創(chuàng)建名稱為master的容器,并查看其IP

[root@cdh1 /]# docker run -itd -h master --name master --network my_overlay centos7_update /bin/bash[root@cdh1 /]# docker inspect -f '{{ .NetworkSettings.Networks.my_overlay.IPAddress}}' master10.0.0.2

在cdh1中創(chuàng)建名稱為slaver的容器,并查看其IP

[root@cdh2 ~]# docker run -itd -h slaver --name slaver --network my_overlay centos7_update /bin/bash[root@cdh2 ~]# docker inspect -f '{{ .NetworkSettings.Networks.my_overlay.IPAddress}}' slaver10.0.0.3

此時進入兩臺容器中,互相ping對方的IP,查看是否成功通信

[root@cdh1 ~]# docker exec -it master /bin/bash[root@master /]# ping 10.0.0.3PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=0.587 ms64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.511 ms64 bytes from 10.0.0.3: icmp_seq=3 ttl=64 time=0.431 ms64 bytes from 10.0.0.3: icmp_seq=4 ttl=64 time=0.551 ms64 bytes from 10.0.0.3: icmp_seq=5 ttl=64 time=0.424 ms^C--- 10.0.0.3 ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4000msrtt min/avg/max/mdev = 0.424/0.500/0.587/0.070 ms

[root@cdh2 ~]# docker exec -it slaver /bin/bash[root@slaver /]# ping 10.0.0.2PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.499 ms64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.500 ms64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.410 ms64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.370 ms^C--- 10.0.0.2 ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3000msrtt min/avg/max/mdev = 0.370/0.444/0.500/0.062 ms

成功通信!

到此這篇關于docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法的文章就介紹到這了,更多相關docker容器間跨宿主機通信內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Docker
相關文章:
主站蜘蛛池模板: 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 鑫达滑石-辽宁鑫达滑石集团 | 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 千淘酒店差旅平台-中国第一家针对TMC行业的酒店资源供应平台 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵 | Duoguan 夺冠集团| 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 工业插头-工业插头插座【厂家】-温州罗曼电气 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 |