国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - IT工程師都需要掌握的容器技術之Docker容器網絡

IT工程師都需要掌握的容器技術之Docker容器網絡

2020-10-27 00:35今日頭條IT管理局 編程技術

本篇文章我們將講解跨主機網絡的容器通信實現,涉及到Docker overlay網絡與MacVlan網絡的解決方案,下面我們就一起來學習吧!

本篇文章我們將講解跨主機網絡的容器通信實現,涉及到Docker overlay網絡與MacVlan網絡的解決方案,下面我們就一起來學習吧!

IT工程師都需要掌握的容器技術之Docker容器網絡

01 Docker跨主機網絡通信

跨主機的容器網絡方案主要有如下幾種:

1)docker原生方案macvlan與overlay網絡

2)第三方方案如flannel、calico、contiv等

本章節我們主要介紹容器的原生網絡方案,因為每一個第三方的方案都可以用一篇文章進行講解,如果讀者們對第三方方案感興趣請在文章下面留言,小編會結合讀者們的需求進行講解。

02 容器網絡模型與網絡庫

容器之所以有這么多的網絡解決方案,全依仗著容器的優秀架構設計。docker通過libnetwork網絡庫與CNM網絡模型將眾多的網段方案與docker進行集成。libnetwork是網絡網絡庫其最核心作用是定義了容器網絡模型(CNM),該網絡模型主要由三個組件構成具體如下:

1)Sandbox

Sandbox是容器網絡棧,Sandbox通過linux namespace技術實現容器不同網絡的隔離。Sandbox可以包含來自不同網絡的Endpoint。

2)Endpoint

Endpoint表示容器接入網絡的端點,其作用是將Sandbox接入網絡。Endpoint只能屬于一個網絡同時也只能屬于一個Sandbox。

3)Network

代表一組可以直接相互通信的Endpoint集合,可以基于LinuxBridge或者VLAN實現。

IT工程師都需要掌握的容器技術之Docker容器網絡

如上圖是典型的Docker CNM模型圖,每個容器一個Sandbox,Sandbox通過Endpoint與Netwrok互連,其中Endpoint就是由linux的veth pair實現的,一端連接linux bridge上一端掛載在容器內(如eth0網卡),正由于有了該規范模型,只要網絡插件符合該模型就可以與docker daemon進行協同工作,從而實現容器網絡。

03 Docker overlay網絡

Docker原生就提供了Overlay網絡driver,使用該驅動可以創建基于Vxlan的Overlay網絡。Vxlan網絡可將二層的數據封裝到UDP報文中進行傳輸,從而實現了通過三層網絡透傳二層數據報文,VXLAN協議是目前使用比較廣的一個網絡協議,由于本篇文章的重點不在該協議如果大家感興趣可以文章后面留言,若有需求我們會在后面單獨出一篇文章來寫Vxlan。

Docker Overlay網絡需要一個key-value的數據庫用于保存網絡狀態信息包括network、Endpoint、IP等。consul、etcd及zookeeper都是docker支持的key-value存儲的軟件。

我們先來看看我們overlay的實驗環境拓撲,本次實驗我們使用consul作為key-value存儲軟件。

IT工程師都需要掌握的容器技術之Docker容器網絡

現在我們來看看怎么搭建這個實驗吧

1)首先我們將兩臺主機的docker.service文件的ExecStart=命令后增加指向consul的配置參數,具體操作如下(本次實驗是兩臺centos7.5系統的主機)

IT工程師都需要掌握的容器技術之Docker容器網絡

增加好配置參數后,我們重啟docker服務具體命令如下

1. # 重啟docker服務   

2.  systemctl daemon-reload && systemctl restart docker   

2)接著我們安裝consul軟件,我們將其部署在172.17.0.3這臺主機上,以容器方式進行部署,容器的網絡使用host,這樣可以將該軟件所有啟動的網絡接口都在主機上進行暴露,具體操作命令如下

1. # 啟動consul容器   

2.  docker run -d --network host -h consul --name=consul \   

3.  --restart=always -e CONSUL_BIND_INTERFACE=eth0 consul:1.5.2   

consul啟動完我們查看它所啟動的接口

IT工程師都需要掌握的容器技術之Docker容器網絡

我們在瀏覽器輸入其地址端口號8500即可登錄consul的頁面具體如下

IT工程師都需要掌握的容器技術之Docker容器網絡

其實這時我們點擊key/value菜單就可以查看我們注冊到consul的兩臺主機了

IT工程師都需要掌握的容器技術之Docker容器網絡

3)現在我們在host1的主機上創建overlay網絡具體操作如下

1. # 創建容器overlay網絡ov_net1   

2.   docker network create -d overlay ov_net1   

IT工程師都需要掌握的容器技術之Docker容器網絡

其實當你在host1主機上創建好ov_net1的網絡consul會自動將該網絡信息同步至host2主機上,我們再host2主機進行驗證一下

IT工程師都需要掌握的容器技術之Docker容器網絡

4)我們在主機host1上創建容器test1,同時網絡設置為ov_net1,具體操作如下

1. # 創建容器test1,并將網絡指定為ov_net1   

2.   docker run -itd --name test1 --hostname test1 --network ov_net1 busybox   

IT工程師都需要掌握的容器技術之Docker容器網絡

其實在我們創建容器test1后,docker會自動創建一個docker_gwbridge的bridge網絡,該網絡用于我們上圖所說的eth1網卡,從而能夠讓容器能夠訪問外部網絡

IT工程師都需要掌握的容器技術之Docker容器網絡

我們再看一下test1容器的路由信息,可以發現其默認路由直接指向了eth1接口,同時ping外網也確實能夠ping通

IT工程師都需要掌握的容器技術之Docker容器網絡
IT工程師都需要掌握的容器技術之Docker容器網絡

5)最后我們在host2主機上創建test2容器,也指定其網絡為ov_net1,然后驗證test1與test2是否能夠互訪

IT工程師都需要掌握的容器技術之Docker容器網絡

如上圖我們在host2主機上成功創建了test2容器,同時其也自動配置了兩個網卡接口一個用于連接overlay網絡一個用于連接外部網絡。現在我們測試一下test2容器是否能夠ping通test1容器,具體操作如下

IT工程師都需要掌握的容器技術之Docker容器網絡

測試發現test2容器確實可以ping通test1容器,同時還實現了DNS功能,主動把test1容器的名稱映射其對應的IP 10.0.0.2。

下面我們來看看overlay網絡能夠連通的具體邏輯,docker會為每個overlay網絡創建一個獨立的namespace,在namespace中會創建一個br0的網橋,其上有兩組endpoint,一組endpoint的一端連br0一端連容器的eth0口,另外一組endponit的一端連br0另外一段連vxlan接口,該接口用于主機間建立vxlan tunnel,不同主機上的容器就是通過該tunnel進行通信的,具體架構圖如下:

IT工程師都需要掌握的容器技術之Docker容器網絡

04 Docker MacVlan網絡

Macvlan其實是linux系統自帶技術允許你在物理網卡上創建子接口,創建的這些子接口每個都有自己的唯一MAC地址,同時你也可以在這些子接口上配置IP,然后可以將應用程序、虛機及容器綁定到指定的子接口,從而實現自己的MAC與IP直接連接到物理網絡,Macvlan的最大優點是性能比較好,缺點是許多nic對mac地址數量有限制。Macvlan具體架構具體如下圖:

IT工程師都需要掌握的容器技術之Docker容器網絡

由于Macvlan在生產環境中部署較少,我們本篇文章就不做實驗進行演示了,我們在這展示一下其創建的具體命令,感興趣的可以按照下面命令自己來搭環境測試。

1. # 創建macvlan網絡mv_net1,其中parent=eth0是指定macvlan網絡使用的接口

2. docker network create -d macvlan -o parent=eth0 mv_net1

3. # 創建容器test3指定其網絡為mv_net1的macvlan網絡

4. docker run -d --name test3 --network mv_net1 busybox

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 九九香蕉视频 | 日韩电影中文字幕 | 99精品欧美一区二区三区综合在线 | 国产免费黄色 | 午夜精品在线 | 在线欧美日韩 | 久久中文免费 | 蜜桃国精产品二三三区视频 | 久久精品片 | 99精品视频在线免费观看 | 日韩免费一级 | 成人免费在线观看视频 | 九九热这里 | 国产又色又爽又黄又免费 | 国产精品免费观看 | 欧美精品一二三区 | 17c一起操 | 久久新 | 中国一级特黄毛片大片 | 在线免费色视频 | 国产精品成人国产乱一区 | 国产一级毛片一级 | 中文在线一区二区 | 婷婷色综合 | 亚洲国产成人一区二区精品区 | 一级黄色毛片 | 欧美日韩国产在线播放 | 午夜成人免费电影 | 激情欧美一区二区免费视频 | 一区二区视频 | 日韩欧美中文 | 成人精品一区二区 | 久久精品六 | 欧美日本韩国一区二区三区 | 日韩欧美视频免费观看 | 久久伊99综合婷婷久久伊 | 伊人久久乐 | 性色视频免费观看 | 99在线精品视频 | 精品久久久久久亚洲综合网 | 欧美黄视频|