翻译自docker官方文档,原文:https://docs.docker.com/network/overlay/
overlay(覆盖)式网络会在多个docker守护进程所在的主机之间创建一个分布式的网络。这个网络会覆盖宿主机特有的网络,并允许容器连接它(包括集群服务中的容器)来安全通信。显然,docker会处理docker守护进程源容器和目标容器之间的数据报的路由。
当你初始化一个集群(swarm)或把一个docker宿主机加入一个已经存在的集群时,宿主机上会新建两个网络:
一个叫ingress的overlay式网络,用来处理和集群服务相关的控制和数据传输。当你创建一个集群服务而且没有把它连到用户定义的overlay式网络时,它默认会连到ingress网络。
一个叫docker_gwbridge的bridge式网络。用来连接本docker守护进程和集群中的其他守护进程。
你可以用docker network create命令创建用户定义的overlay式网络,就和你创建用户定义的bridge式网络一样。服务和容器可以同时连到多个网络。服务和容器只能和它所在的网络中的其他对象通信。
虽然集群服务和单独的容器都能连到overlay式网络,但默认的表现和配置两者都是不同的。因此,本主题后面的内容会分成三部分:应用于所有overlay式网络的;应用于集群服务中的网络的;应用于单独的容器使用的overlay式网络的。
适用于所有overlay网络的操作
创建一个overlay网络
"htmlcode">
$ docker network create --driver overlay --ingress --subnet=10.11.0.0/16 --gateway=10.11.0.2 --opt com.docker.network.mtu=1200 my-ingress
注意:你也可以把ingerss网络命名成其他名字,但只能有一个。如果你试图创建第二个,会失败。
4.重启你在第一步停掉的服务。
修改docker_gwbridge接口
docker_gwbridge是一个虚拟网桥,用来连接overlay网络(包括ingress网络)和一个特定的docker守护进程的物理网络。当你初始化一个集群或把一个docker宿主机加入到一个集群时,docker会自动创建它,但它不是一个docker设备。它存在于docker宿主机的内核中。如果你要修改它的配置,你必须在把宿主机加入集群前完成,或暂时把宿主机从集群中脱离。
停掉docker
删除docker_gwbridge接口
$ sudo ip link set docker_gwbridge down
$ sudo ip link del name docker_gwbridge
3.启动docker,不要加入或初始化集群
4.用docker network create命令手动创建或重新创建docker_gwbridge网桥,加上你自定义的设置。下面的例子使用10.11.0.0/16子网。
$ docker network create --subnet 10.11.0.0/16 --opt com.docker.network.bridge.name=docker_gwbridge --opt com.docker.network.bridge.enable_icc=false --opt com.docker.network.bridge.enable_ip_masquerade=true docker_gwbridge
5.初始化或加入集群。由于网桥已经存在,docker不会再用默认配置创建它了。
集群服务中的操作
在overlay网络上发布端口
连到同一个overlay网络的集群服务会互相暴露所有端口。如果一个端口要从服务外部可访问到,必须在docker service create或docker service update中用-p或--publish来发布。
遗留的冒号分割的语法和新的逗号分割的语法都是支持的。
更长的语法更好,因为某种意义上它是自解释的。
为集群服务绕开路由网
默认的,集群服务通过路由网来发布端口。当你连到任一集群节点(不管它有没有运行端口所代表的服务)上的被发布的端口时,你都能重定向到运行着指定服务的节点。docker很有效的充当着你的集群服务的负载均衡器。使用路由网的服务运行在虚拟IP模式(VIP)下。即使一个服务运行在一个节点上(通过--global标记),也会使用路由网。当使用路由网时,不能保证哪个节点处理客户端的请求。
要绕开路由网,你可以用DNS Round Robin (DNSRR)模式启动服务。通过给dnsrr设置--endpoint-mode标记。你必须在服务前端运行你自己的负载均衡器。docker宿主机上的服务名的DNS查询会返回运行着指定服务的节点的IP地址集合。配置你的负载均衡器来使用这份列表并在节点间平衡通信。
分离控制流和数据流
默认的,控制流和集群管理者联系并在运行在同一网络上的应用间传输,虽然控制流是加密的。你可以配置docker,让它用不同的网络接口来处理不同的流。当你初始化或加入集群时,分别指定--advertise-addr和--datapath-addr。你必须在每个要加入集群的节点上做这个操作。
overlay网络上独立容器能用的操作
把独立容器连到overlay网络
ingress网络创建时没有指定--attachable标记,这意味着只有集群服务能使用它,独立容器不能。你可以把独立容器连到用户定义的,创建时指定了--attachablebiaoji d overlay网络。这给了运行在不同docker上的独立容器一种能力,即不需在特定docker宿主机上设置路由就能通信的能力。
发布端口
以上这篇对docker中的overlay式网络详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】