首页服务器Web服务器 详解Docker中VLAN网络模式的配置

详解Docker中VLAN网络模式的配置

前言 Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络 方面就是Docker比较薄弱的部分。因此,我们有…

前言

Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络 方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Docker网络模式选择

目前已有不少文章介绍了Docker的网络模型,但是在实际应用中还是有不少坑和需要注意的点

在Docker应用到生产环境的时候,网络模型的选择主要有以下几种

     1、原生Bridge NAT模式

     2、Linux Bridge VLAN模式

     3、利用第三方的网络方案

原生的Bridge NAT模式

这是Docker原生的网络模式,每台主机的容器都在一个独立的子网中,外部访问必须通过主机端口映射的方式。同时不同主机间的容器间访问也必须通过这种主机端口映射的方式。换句话说,一台主机上的容器其实是不知道另外一台主机的容器的。这种方式是否可以用于生产,一开始我是忧郁的,同时之前有写文章写NAT的性能损耗比较大,在没有资源做完整测试的情况下,我们最初的方案就没敢用这个网络方案。但是最近测试自己测试的结果看,NAT的性能是可以接受的(QPS和Latency和VLAN的模式都比较接近),只要有合适的方案将不同主机的容器联通就可。如用Mesos+Marathon+Bamboo+HAProxy的方式就可以的。

Linux Bridge VLAN模式

这是我考虑Docker网络模型一开始就想决定好的,主要有几方面的原因:

     1、NAT的方式一开始不敢用

     2、其它第三饭的工具还不太成熟

     3、一开始容器的数量不可能太多(因为VLAN的模式受限于VLAN的整体数量,只能4096个容器),如果按照一个主机10-16个容器算,可以支持到256台主机,这个还是可以接受的

     4、每个主机需要一个独立IP,并且可以互联互通

     5、运维管理要简单,毕竟我们的运维体系还是物理机体系的

     6、可以做到主机网络和VLAN网络的隔离

我们用的主机是CentosOS 7.X系列, 主机的网络配置如下:两个1G的网卡,通过Bond的方式绑在一起,然后配置主机一个虚拟网卡在VALN 1上,容器的Docker0的Bridge在另外一个VLAN 1上

网卡配置:

这里需要注意的是必须安装了bridge-utils, NetworkManager

步骤

配置两个网卡,不要配置IP/GATEWAY等网络参数,增加MASTER=bond0以及SLAVE=yes

完整例子如:

TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=noIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=enp2s0f0UUID=7f6fa8e9-0177-46a8-b8ea-55c2187bea11DEVICE=enp2s0f0ONBOOT=yesMASTER=bond0SLAVE=yes
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/fwq/web/5164.html
上一篇如何在Centos 7快速开启端口
下一篇 在Windows系统下安装docker窗口的配置过程
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部