最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年02月20日 11:44:42   作者:李奇峰1998  
這篇文章主要介紹了docker容器間跨宿主機(jī)通信-基于overlay的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

overlay網(wǎng)絡(luò)解析

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

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

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

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

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

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

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

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

1.png

環(huán)境介紹

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

consul安裝配置

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

在這里插入圖片描述

consul通過(guò)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守護(hù)程序停止或重啟的時(shí)候,容器依然可以保持運(yùn)行

在cdh1下載consul鏡像并啟動(dòng)

[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服務(wù)地址,因?yàn)閏onsul服務(wù)運(yùn)行在cdh1的8500端口,所以兩臺(tái)機(jī)器的cluster-store值均為consul://10.30.10.111:8500
cluster-advertise指定本機(jī)與consul的通信端口,所以指定為本機(jī)的2375端口

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

在這里插入圖片描述

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

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

[root@cdh1 /]# docker network ls
NETWORK ID   NAME    DRIVER    SCOPE
ab0f335423a1  bridge    bridge    local
b12e70a8c4e3  host    host    local
0dd357f3ecae  none    null    local

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

[root@cdh1 /]# docker network create -d overlay my_overlay
cafa97c5cf9d30dd6cef08a5e9710074c828cea3fdd72edb45315fb4b1bfd84c
[root@cdh1 /]# docker network ls
NETWORK ID   NAME    DRIVER    SCOPE
ab0f335423a1  bridge    bridge    local
b12e70a8c4e3  host    host    local
cafa97c5cf9d  my_overlay   overlay    global
0dd357f3ecae  none    null    local

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

[root@cdh2 ~]# docker network ls
NETWORK ID   NAME    DRIVER    SCOPE
90d99658ee8f  bridge    bridge    local
19f844200737  host    host    local
cafa97c5cf9d  my_overlay   overlay    global
3986fe51b271  none    null    local

網(wǎng)絡(luò)測(cè)試

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

在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}}" master
10.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}}" slaver
10.0.0.3

此時(shí)進(jìn)入兩臺(tái)容器中,互相ping對(duì)方的IP,查看是否成功通信

[root@cdh1 ~]# docker exec -it master /bin/bash
[root@master /]# ping 10.0.0.3
PING 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 ms
64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.511 ms
64 bytes from 10.0.0.3: icmp_seq=3 ttl=64 time=0.431 ms
64 bytes from 10.0.0.3: icmp_seq=4 ttl=64 time=0.551 ms
64 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 4000ms
rtt 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.2
PING 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 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.500 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.410 ms
64 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 3000ms
rtt min/avg/max/mdev = 0.370/0.444/0.500/0.062 ms

成功通信!

到此這篇關(guān)于docker容器間跨宿主機(jī)通信-基于overlay的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)docker容器間跨宿主機(jī)通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器端口映射后突然無(wú)法連接的排查過(guò)程

    Docker容器端口映射后突然無(wú)法連接的排查過(guò)程

    這篇文章主要給大家介紹了關(guān)于Docker容器端口映射后突然無(wú)法連接的排查過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Docker容器操作方法詳解

    Docker容器操作方法詳解

    Docker 在隔離的容器中運(yùn)行進(jìn)程。之前總結(jié)了Docker鏡像的使用詳解,本篇按照之前測(cè)試openGauss容器過(guò)程中總結(jié)出來(lái)使用Docker容器的常用命令
    2022-08-08
  • Docker下部署lnmp詳細(xì)步驟

    Docker下部署lnmp詳細(xì)步驟

    大家好,本篇文章主要講的是Docker下部署lnmp詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 解決docker日志掛載的問(wèn)題

    解決docker日志掛載的問(wèn)題

    這篇文章主要介紹了解決docker日志掛載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • windows安裝Docker與docker-compose套裝的詳細(xì)教程

    windows安裝Docker與docker-compose套裝的詳細(xì)教程

    這篇文章主要介紹了windows安裝Docker與docker-compose套裝的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 詳解Docker如何在前端項(xiàng)目動(dòng)態(tài)插入并使用變量

    詳解Docker如何在前端項(xiàng)目動(dòng)態(tài)插入并使用變量

    這篇文章主要為大家詳細(xì)介紹如何在Docker前端鏡像中設(shè)置變量以及使用變量的方法,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 使用Docker容器搭建MySql主從復(fù)制

    使用Docker容器搭建MySql主從復(fù)制

    這篇文章主要介紹了使用Docker容器搭建MySql主從復(fù)制的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • docker 查詢或獲取私有倉(cāng)庫(kù)(registry)中的鏡像的方法

    docker 查詢或獲取私有倉(cāng)庫(kù)(registry)中的鏡像的方法

    這篇文章主要介紹了docker 查詢或獲取私有倉(cāng)庫(kù)(registry)中的鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • Docker容器應(yīng)用日志查看方法

    Docker容器應(yīng)用日志查看方法

    今天小編就為大家分享一篇關(guān)于Docker容器應(yīng)用日志查看方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Docker Compose 容器編排的實(shí)現(xiàn)

    Docker Compose 容器編排的實(shí)現(xiàn)

    本文主要介紹了Docker Compose 容器編排的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論

伊金霍洛旗| 彭州市| 扶绥县| 图木舒克市| 延吉市| 鄂伦春自治旗| 巴彦淖尔市| 临潭县| 宜君县| 连城县| 娄烦县| 海南省| 青川县| 梨树县| 大港区| 永修县| 富平县| 丽水市| 兴宁市| 中山市| 宾川县| 佳木斯市| 会理县| 平顺县| 苏尼特左旗| 济宁市| 弥渡县| 石柱| 娄烦县| 江达县| 哈密市| 军事| 广平县| 苏尼特左旗| 连州市| 柞水县| 南通市| 扶余县| 襄樊市| 福建省| 齐齐哈尔市|