虚拟机docker使用macvlan网络

本例环境:
Vsphere版本:6.x
容器宿主机操作系统: Centos7.3 ,内核4.9.39(默认为3.10,本例环境中存储驱动使用的是overlay2)
docker版本:17.06.1-ce
网关设备:三层交换机(端口模式为trunk)
 
一、新建一个虚拟交换机,如下图所示,使用vmnic1物理网卡(此网卡与三层设备的trunk连接)
        

 

          

            

 

二、  添加完网络后,更改网络的属性,必须启用混杂模式

            

 

三、  在运行docker程序的虚拟机里添加虚拟网卡
         

 

四、在虚拟机中新增eth1和bond0配置文件,不需要配置IP地址,并将它加入到bond0网络
    bond0非必需,此例纯粹为了扩展而配置,正式环境可使用多块网卡绑定与三层设备的channel-group对接
    centos7网卡名称为ensXX,更改为eth请参考 http://www.cnblogs.com/cnwangshijun/p/7404466.html
        
[root@docker-dev ~]# more /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
NAME=eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
USERCTL=no
SLAVE=yes
 
[root@docker-dev ~]# more /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_MASTER=yes
BONDING_OPTS="mode=4 miimon=100"

[root@docker-dev ~]# modprobe --first-time bonding
[root@docker-dev ~]# ip link set bond0 promisc on
[root@docker-dev ~]# modprobe 8021q

 

 

五、在虚拟机中新建一个macvlan网络
[root@docker-dev ~]# docker network create -d macvlan --subnet 172.16.25.0/24 --gateway 172.16.25.1 -o parent=bond0.25 -o macvlan_mode=bridge vlan25
 
六、新建一个容器,指定使用上面建的网络并配置固定IP地址,然后进行网络连通性测试
[root@docker-dev ~]# docker run -d --name test --net vlan25 --ip 172.16.25.10 repo.tty.com/java/java8-super:0921             
注:其中 repo.tty.com/java/java8-super:0921 为本示例镜像仓库中的镜像,根据环境不同替换成各自的镜像地址
[root@docker-dev ~]# docker exec -it test bash             # 使用exec进入容器
[root@332d8565f3c5 /]# ifconfig eth0 | grep inet            #查看容器的IP地址
inet 172.16.25.10 netmask 255.255.255.0 broadcast 0.0.0.0
[root@332d8565f3c5 /]# ping qq.com -c 3                      #直接进行外网ping测试
PING qq.com (14.17.32.211) 56(84) bytes of data.
64 bytes from 14.17.32.211: icmp_seq=1 ttl=54 time=2.35 ms
64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=2.45 ms
64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=1.87 ms
 
至此,用虚拟机做宿主机运行docker容器也能使用高性能的macvlan网络模型了
需要注意的是每块物理网卡只能支持两台虚拟机使用,如果超过两台网络将出现严重的丢包,具体原因不详!

 

 

 

 

posted @ 2017-08-21 14:19  炉山假面目  阅读(819)  评论(0编辑  收藏  举报