Docker跨主机网络——overlay

率先让我们精晓一下大师们对“云总括”的经典看法:

前言

Docker网络——单host网络一文中,我为我们计算了Docker的单机网络有关知识和操作,单机互连网比较易于。本文我为我们统计Docker跨主机通讯相关知识。同样本文半数以上剧情以CloudMan的连锁学科为底蕴。

  Bill·盖茨1989年在研究“统计机科学的千古现行与前景时”时说:“用户只必要640K的内存就够用了。”那时,所有的程序都很省很小,100MB的硬盘大概用不完。

一、Docker 跨主机通讯

Docker跨主机互联网方案包涵:

  1. docker 原生的 overlay 和 macvlan。
  2. 其三方方案:常用的包蕴 flannel、weave 和 calico。

docker 通过 libnetwork 以及 CNM 将上述种种方案与docker集成在联合。

libnetwork 是 docker 容器网络库,最基本的始末是其定义的 Container
Network Model (CNM),那么些模型对容器网络开展了画饼充饥,由以下三类组件组成:

  李开复先生(现任谷歌举世副老总、中国区老董)打了一个形象的比方:钱庄。最早人们只是把钱放在枕头底下,后来有了银行,很安全,不过完毕起来相比费心。未来提升到银行可以到其它一个网点取钱,甚至经过ATM,恐怕海外的水渠。如同用电不必要家庭装备发电机,直接从电力集团采购同一。“云计算”带来的就是如此一种变革——由谷歌(Google)、IBM那样的正儿八经互连网店铺来搭建总结机存储、运算大旨,用户通过一根网线借助浏览器就可以很有益的走访,把“云”做为资料存储以及应用服务的为主。

1.1 Sandbox

Sandbox 是容器的网络栈,蕴含容器的 interface、路由表和 DNS 设置。 Linux
Network Namespace 是 Sandbox 的正规化兑现。Sandbox 可以涵盖来自差距Network 的
Endpoint。相当于说Sandbox将一个器皿与另一个容器通过Namespace举行隔离,一个器皿包罗一个sandbox,各个sandbox可以有多少个Endpoint隶属于不相同的网络。

 

1.2 Endpoint

Endpoint 的职能是将 Sandbox 接入 Network。Endpoint 的独立完成是 veth
pair。一个 Endpoint 只可以属于一个互连网,也只可以属于一个 Sandbox。

(一)原理:

1.3 Network

Network 包罗一组 Endpoint,同一 Network 的 Endpoint
可以一贯通信。Network 的完结可以是 Linux Bridge、VLAN 等。

图片 1

图形甘休CLOUDMAN博客。

libnetwork下富含上述原生的driver以及别的第三方driver。

none、bridge网络后边早已介绍。bridge就是网桥,虚拟交流机,通过veth连接其与sandbox。

  云总计(Cloud Computing)是分布式处理(Distributed
Computing)、并行处理(Parallel Computing)和网格统计(Grid
Computing)的前进,只怕说是那个电脑科学概念的商业落成。
  云总计的基本原理是,通过使计量分布在大方的分布式计算机上,而非本地电脑或远程服务器中,公司数量主导的周转将更与互连网相似。那使得商家可以将资源切换到需求的利用上,依照需求访问计算机和仓储系统。
  那可是一种革命性的举措,打个比方,那就好比是从古老的单台发电机情势转化了电厂集中供电的情势。它象征统计能力也可以用作一种商品举办流通,就像煤气、水电一样,取用方便,开支低廉。最大的不等在于,它是透过互连网举办传输的。
  云总结的蓝图已经有声有色:在今后,只必要一台台式机可能一个部手机,就足以因而网络服务来促成大家需求的整个,甚至席卷最佳总计那样的天职。从那个角度而言,末了用户才是云统计的实在拥有者。
  云总计的施用包涵那样的一种考虑,把力量联合起来,给其中的各个分子采纳。

二、Docker overlay 网络

(二)“云”时代
  近日,PC照旧是大家日常工作生活中的宗旨工具——我们用PC处理文档、存储资料,通过电子邮件或U盘与别人分享音讯。假诺PC硬盘坏了,大家会因为材料丢失而一筹莫展。
  而在“云统计”时代,“云”会替我们做存储和计算的办事。“云”就是计算机群,每一群包含了几十万台、甚至上百万台微机。“云”的功利还在于,其中的处理器可以每日更新,保险“云”长生不老。谷歌就有一些个那样的“云”,其余IT巨头,如微软、雅虎、亚马逊(亚马逊(Amazon))也有或正在建设那样的“云”。
  届时,大家只必要一台能上网的微处理器,不需关心存储或总括暴发在哪朵“云”上,但只要有亟待,大家可以在另内地方用其余设施,如总括机、手机等,快捷地测算和找到这个资料。大家再也不用担心资料丢失。  

2.1 启动 key-value 数据库 Consul

Docerk overlay 互连网须求一个 key-value 数据库用于保存网络状态新闻,包罗Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都以 Docker 帮衬的
key-vlaue 软件。

consul是一种key-value数据库,可以用它存储系统的景况信息等,当然那里大家并不须要写代码,只须求设置consul,之后docker会自动进行状态存储等。最不难易行的安装consul数据库的措施是一贯利用
docker 运行 consul 容器。

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

开行后方可经过 host ip的8500端口查看consul服务。

为了让 consul 发现各种 docker
主机节点,需求在逐一节点上进展布署。修改种种节点 docker daemon
的安顿文件/etc/systemd/system/docker.service。在 ExecStart 最终添加

--cluster-store=consul://<consul_ip>:8500 --cluster-advertise=ens3:2376

中间 表示运行 consul
容器的节点IP。ens3为当前节点的ip地址对应的网卡,也得以一向填写ip地址。

上述是单机版 consul
的设置格局,提议使用集群形式,集群方式安装方式见https://www.consul.io/intro/getting-started/join.html

(三)云总结的几大方式
  1.SAAS(软件即服务)
那体系型的云总括通过浏览器把程序传给不可枚举的用户。在用户眼中看来,那样会省去在服务器和软件授权上的开发;从供应商角度来看,那样只必要保持一个程序就够了,这样可以收缩本钱。Salesforce.com是时至后天那类服务最好有名的铺面。SAAS在人力资源管理程序和ERP中相比常用。
谷歌(Google) Apps和Zoho Office也是近乎的服务
  2.实用总结(Utility Computing)
以此主意很已经有了,可是知道近来才在亚马逊.com、Sun、IBM和别的提供仓储服务和编造服务器的合作社中新生。那种云统计是为IT行业创设虚拟的数码基本使得其可以把内存、I/O设备、存储和计量能力集中起来成为一个虚构的资源池来为任何互联网提供劳动。
  3.互联网服务
同SAAS关系密切,网络服务提供者们可以提供API让开发者可以开发更加多基于互连网的行使,而不是提供单机程序。
  4.平台即服务
另一种SAAS,这种格局的云总括把开发环境作为一种服务来提供。你可以使用中间商的装置来开发本人的先后并透过互连网和其服务器传到用户手中。
  5.MSP(管理服务提供商)
最古老的云统计运用之一。那种使用越来越多的是面向IT行业而不是极端用户,常用于邮件病毒扫描、程序监控等等。
  6.商业服务平台
SAAS和MSP的混杂使用,该类云总括为用户和提供商之间的互相提供了一个平台。比如用户个人费用管理体系,可以基于用户的设置来治本其开发并协调其预约的各个劳动。
  7.互连网构成
将网络上提供类似服务的商店构成起来,以便用户可以更便宜的可比和抉择本人的服务供应商。

2.2 创建 overlay 网络

始建 overlay 网络与前面成立 bridge
网络基本相同,唯一差其余是将-d参数设置为overlay。如下:

docker network create -d overlay ov_net2

docker network create -d overlay ov_net3 --subnet 172.19.0.0/24 --gateway 172.19.0.1

只要求在一个节点中展开上述成立进程,其他节点自动会识别到该网络,原因正是在于consul的服务意识意义。

事后创制容器的时候只要求指定–network参数为ov_net2即可。

docker run --network ov_net2 busybox

这么固然在差其余主机上应用同一 overlay
网络创设的容器,相互之间也可以直接访问。

  说了半天相信广大人还没搞清怎么回事,因为单“云计算”那多个字就已经够云里雾里的了。邓伯公说“实践是印证真理的唯一标准”。大家中华云计算网www.cloudcomputing-china.cn把云计算的二大战略定为浏览器战略和SaaS(软件即服务战略)。把google的
文件列为体验云统计中文版的首先款软件。我们可以亲自感受一下!

2.3 overlay 互联网原理

再制造完一个overlay网络之后,通过docker network ls能够看来网络中不但多了一个大家创立的
ov_net2 (类型为overlay、scope为global),还可以见到一个名为
docker_gwbridge (类型为bridge、scope为local)。这事实上就是 overlay
网络的做事原理所在。

由此brctl
show可以看到,每创立一个互联网项目为overlay的容器,则docker_gwbridge下都会挂载一个vethxxx,那表达确实overlay容器是透过此网桥举办对外连接的。

简短的说 overlay 互连网数据依旧从 bridge
互联网docker_gwbridge出去的,可是由于consul的效应(记录了overlay网络的endpoint、sandbox、network等音信),使得docker知道了此网络是
overlay
类型的,那样此overlay互连网下的不一样主机之间就可见互为走访,但其实出口依旧在docker_gwbridge网桥。

三、总结

本文不难总计了 overlay
跨主机网络通讯的兑现原理和行使方法。后续会总括其余跨主机通讯互联网。

发表评论

电子邮件地址不会被公开。 必填项已用*标注