docker生产环境容器集群通信方式询问(技术交流)

docker在大公司的应用已经不言而喻了。 相信大家都知道。
在都建容器集群最核心的问题就是【不同主机】中的Docker容器可以互相访问
一 使用自定义网桥连接跨主机容器
hadoop@ubuntu:~$ brctl show
bridge name        bridge id                STP enabled        interfaces
docker0                8000.56847afe9799        no               
virbr0                8000.525400867950        yes                virbr0-nic
hadoop@ubuntu:~$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:79:41:b8 brd ff:ff:ff:ff:ff:ff
    inet 10.27.10.241/24 brd 10.27.10.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe79:41b8/64 scope link
       valid_lft forever preferred_lft forever
3: virbr0: mtu 1500 qdisc noqueue state DOWN group default
    link/ether 52:54:00:86:79:50 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 500
    link/ether 52:54:00:86:79:50 brd ff:ff:ff:ff:ff:ff
5: docker0: mtu 1500 qdisc noqueue state DOWN group default
    link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
    inet 172.17.42.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::5484:7aff:fefe:9799/64 scope link
       valid_lft forever preferred_lft forever
hadoop@ubuntu:~$
(1)创建跨多个主机主机的容器互联,先创建自己的网桥。(2)重启,然后本地修改/etc/default/docker文件(3)在启动DOcker的时候使用-b参数可以讲容器绑定到指定网桥上
二使用 Ambassador容器
Ambassador容器也是一种Docker容器, 它在内部提供了转发功能。
即 :
客户端容器->客户端Ambassador容器--->物理网络------>服务器Ambassador容器->服务端容器
当客户端容器要访问访问服务端容器的时候,直接访问客户端Ambassador容器;这个请求被客户端Ambassador转发出去,到达服务端主机。 服务端Ambassador容器监听在对应端口上,收到请求后再转发请求给服务端容器。

疑问:这两种方式都不能用在实际生产环境中,大家所在的公司都是如何构建docker集群间通信的?



生产环境中构建docker容器集群,你们都采用哪种方法?(1)自定义网桥连接(2)使用Ambassador容器?还是其它的方法?
参与7

6同行回答

蓝色飞扬蓝色飞扬存储工程师英特华
@flying_eagle:现在用的比较多的确实是brctl addbr 网桥名。目前应Docker用到生产环境还有很多要考虑的,尤其要与公有云+私有云+大数据结合,各种问题都要测试。(1)是否需要对Docker容器做资源限制,如何限制CPU,内存, 磁盘,网络等。(2)安全管理,如防火墙,root禁用,用户权限和log reco...显示全部
@flying_eagle:现在用的比较多的确实是brctl addbr 网桥名。

目前应Docker用到生产环境还有很多要考虑的,尤其要与公有云+私有云+大数据结合,各种问题都要测试。
(1)是否需要对Docker容器做资源限制,如何限制CPU,内存, 磁盘,网络等。
(2)安全管理,如防火墙,root禁用,用户权限和log record.
对发帖最后的总结:
采用第一种:网桥连接。
多谢两位,多谢交流平台收起
软件开发 · 2015-04-30
浏览2169
flying_eagleflying_eagle系统架构师某汽车制造公司
Openstack+Docker可能是开始大部分使用者的选择,但使用一段时间后就会发现因为Openstack本身的复杂性使得这种方式并不好用。Docker是个轻量的容器化解决方案,除了容器大家更看重的整体过程的管理方案——一处开发、测试,多处无差别的部署应用。网络这块儿具体到生产环境使...显示全部
Openstack+Docker可能是开始大部分使用者的选择,但使用一段时间后就会发现因为Openstack本身的复杂性使得这种方式并不好用。Docker是个轻量的容器化解决方案,除了容器大家更看重的整体过程的管理方案——一处开发、测试,多处无差别的部署应用。
网络这块儿具体到生产环境使用网桥的是最多的,但网桥本身也是有缺陷的(相当使用一个软件做了部分交换机的事情),在规模大了或者是对网络延迟要求高的场景是不行的;因此,很多人在探索直接使用Host网络的解决方案,即容器本身不做网络隔离,从而减少中间环节以提高性能和稳定性。收起
互联网服务 · 2015-04-30
浏览2156
蓝色飞扬蓝色飞扬存储工程师英特华
多谢dl528888回复。我想我明白了。你们在Centos7上直接部署的docker并对它进行控制。 (1)我之所以有这篇文章,是想与Openstack进行结合。(2)结合之后用docker跑Hadoop大数据分析(3)这样的话,我需要考虑资源隔离,CPU,内存限制了。 如果与openstack进行结合,这个资源限制应该很好解决...显示全部
多谢dl528888回复。
我想我明白了。你们在Centos7上直接部署的docker并对它进行控制。
(1)我之所以有这篇文章,是想与Openstack进行结合。
(2)结合之后用docker跑Hadoop大数据分析
(3)这样的话,我需要考虑资源隔离,CPU,内存限制了。 如果与openstack进行结合,这个资源限制应该很好解决了。
最后诚挚的感谢您的回复。祝工作顺利。收起
软件开发 · 2015-04-30
浏览2244
dl528888dl528888系统运维工程师游戏公司
回复 3# 蓝色飞扬     我是物理机部署centos7系统,然后安装docker服务,资源隔离的话,cpu、内存没有限制,只是对网络流量做了限制。显示全部
回复 3# 蓝色飞扬


    我是物理机部署centos7系统,然后安装docker服务,资源隔离的话,cpu、内存没有限制,只是对网络流量做了限制。收起
互联网服务 · 2015-04-30
浏览2128
蓝色飞扬蓝色飞扬存储工程师英特华
你们应该是openstack+docker模式吧?部署直接集成在openstack里面那你们对Docker 有没有研究资源限制方面?显示全部
你们应该是openstack+docker模式吧?部署直接集成在openstack里面
那你们对Docker 有没有研究资源限制方面?收起
软件开发 · 2015-04-30
浏览2128
dl528888dl528888系统运维工程师游戏公司
目前我这里生产环境使用了docker容器作为游戏与网站方面的环境,运行3个多月很稳定,至于你说的网络连接方式,我使用sdn的openvswitch的bridge作为桥接,然后使用pipework指定ip,多主机容器网络互联,可以使用openvswitch的gre或者vxlan模式连接。...显示全部
目前我这里生产环境使用了docker容器作为游戏与网站方面的环境,运行3个多月很稳定,至于你说的网络连接方式,我使用sdn的openvswitch的bridge作为桥接,然后使用pipework指定ip,多主机容器网络互联,可以使用openvswitch的gre或者vxlan模式连接。收起
互联网服务 · 2015-04-30
浏览2120

提问者

蓝色飞扬
存储工程师英特华

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-04-30
  • 关注会员:1 人
  • 问题浏览:6969
  • 最近回答:2015-04-30
  • X社区推广