##1. ovs安裝linux
參見 https://my.oschina.net/u/1791060/blog/689939docker
##2.docker及pipework安裝centos
參見 http://www.javashuo.com/article/p-oawbgsxs-ea.htmlbash
##3.使用ovs替代linux bridge網絡
####網絡信息以下測試
網絡: 192.168.75.1/24 網關: 192.168.75.1 docker1 centos7 192.168.75.200 docker2 centos7 192.168.75.201
####配置ovs bridge 並刪除原來的linux bridgecentos7
# ovs-vsctl add-br ovsbr0.net
# cd /etc/sysconfig/network-scripts/rest
# vi ifcfg-enp0s3code
TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp0s3 UUID=a6d8d29d-8df1-43f2-b1ff-cb7e670af704 DEVICE=enp0s3 ONBOOT=yes BRIDGE=ovsbr0 #添加以下行
####重啓網絡並將ip配置到ovs網橋
# (service network restart;ifcfg ovsbr0 add 192.168.75.200/24;ovs-vsctl add-port ovsbr0 enp0s3)
##4.pipework將容器網絡橋接到ovs上並劃分vlan
####docker1上啓動2個docker
# pipework ovsbr0 `docker run -itd --name=d1v100 --net=none centos /bin/bash` 192.168.75.203/24@192.168.75.1 @100
# pipework ovsbr0 `docker run -itd --name=d1v101 --net=none centos /bin/bash` 192.168.75.204/24@192.168.75.1 @101
####docker2上啓動2個docker
# pipework ovsbr0 `docker run -itd --name=d2v100 --net=none centos /bin/bash` 192.168.75.205/24@192.168.75.1 @100
# pipework ovsbr0 `docker run -itd --name=d2v101 --net=none centos /bin/bash` 192.168.75.206/24@192.168.75.1 @101
##測試
####從d1v101上ping d2v100及d2v101
[root@f5629f83731c /]# ping 192.168.75.206 PING 192.168.75.206 (192.168.75.206) 56(84) bytes of data. 64 bytes from 192.168.75.206: icmp_seq=1 ttl=64 time=0.409 ms 64 bytes from 192.168.75.206: icmp_seq=2 ttl=64 time=0.451 ms ^C --- 192.168.75.206 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.409/0.430/0.451/0.021 ms [root@f5629f83731c /]# ping 192.168.75.1 PING 192.168.75.1 (192.168.75.1) 56(84) bytes of data. From 192.168.75.204 icmp_seq=1 Destination Host Unreachable From 192.168.75.204 icmp_seq=2 Destination Host Unreachable From 192.168.75.204 icmp_seq=3 Destination Host Unreachable From 192.168.75.204 icmp_seq=4 Destination Host Unreachable ^C --- 192.168.75.1 ping statistics --- 6 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5001ms pipe 4
docker1的ovs狀態
# ovs-vsctl show
dd5f8481-1559-4bab-96e5-8914afc0faab Bridge "ovsbr0" Port "ovsbr0" Interface "ovsbr0" type: internal Port "veth1pl11086" tag: 101 Interface "veth1pl11086" Port "enp0s3" Interface "enp0s3" Port "veth1pl10975" tag: 100 Interface "veth1pl10975" ovs_version: "2.5.0"
docker2的ovs狀態
# ovs-vsctl show
04788e7c-ae5f-4ca9-b16c-3e7221f299a8 Bridge "ovsbr0" Port "veth1pl26931" tag: 101 Interface "veth1pl26931" Port "enp0s3" Interface "enp0s3" Port "ovsbr0" Interface "ovsbr0" type: internal Port "veth1pl26815" tag: 100 Interface "veth1pl26815" ovs_version: "2.5.0"