(菜汪学docker) 用vmware 完成 docker+ovs+vxlan 实现容器跨主机访问

本汪刚开始学习ovs,觉得这不是一天两天就能学会的东西,所以就不谈感想和总结了,分享一下我的学习链接吧,自己耐心感悟吧。

学习链接
ovshttp://blog.csdn.net/tantexian/article/details/46707175
ovshttp://www.cnblogs.com/popsuper1982/p/5848879.html
openflowhttp://blog.csdn.net/wangpengqi/article/details/17400947
ovshttp://vinllen.com/ovs-datapathbi-ji/
ovs 实验http://www.sdnlab.com/8236.html
docker 网络http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice
dockerhttp://www.cnblogs.com/sammyliu/p/5878973.html

开始vmware试验,这里虚拟机我觉的必须双网卡才能完成这个试验,可能由于是vmware虚拟机的原因吧。害羞

先上一张比较low的图

配置虚拟机ABC的网络 
A:192.168.0.11 B(两块网卡):192.168.0.16 192.168.0.18(eno33554992)  C(两块网卡):192.168.0.17 192.168.0.19(eno33554992)

虚拟机A要能访问到B C
修改三台机器的系统参数
fs.aio-max-nr = 65536
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
网关配置
虚拟机BC的网关配置为虚拟机A的IP

安装docker
这个百度吧 大把大把的文章

安装ovs

modprobe  openvswitch
# ovs的核心模块,配合ovs-vswitchd使用insmod datapath/openvswitch.ko
创建ovsdb数据库ovsdb-tool create /usr/local/share/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
启动ovs-servernohup ovsdb-server /usr/local/share/openvswitch/conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=ptcp:6640 --pidfile=ovsdb-server.pid >> /app/ovs/log.txt 2>&1 &

ovs-vsctl --no-wait init
启动ovs-switchnohup ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock -v --pidfile >> /app/ovs/switch.log 2>&1 &

进入配置部分

配置虚拟机ABC的网络A:192.168.0.11 B(两块网卡):192.168.0.16 192.168.0.18(eno33554992)  C(两块网卡):192.168.0.17 192.168.0.19(eno33554992)
虚拟机A虚拟机A要能访问到B C
修改三台机器的系统参数fs.aio-max-nr = 65536
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
网关配置虚拟机BC的网关配置为虚拟机A的IP
基本要求docker启动  虚拟机B --bip 192.168.16.0/24;虚拟机A --bip 192.168.17.0/24
每个docker上启动两个容器docker run -d -it --name=test16y01 --privileged=true -v /app/docker/waigua/:/app/docker/waigua/ --net=none centos:08.21 /bin/bash

安装ovs
虚拟机C上ovs-vsctl add-br sdn-br0
ovs-vsctl set bridge sdn-br0 stp_enable=true
ifconfig sdn-br0 192.168.16.2/24 up
 ovs-vsctl add-port sdn-br0 eno33554992
虚拟机D上ovs-vsctl add-br sdn-br0
ovs-vsctl set bridge sdn-br0 stp_enable=true
ifconfig sdn-br0 192.168.17.2/24 up
 ovs-vsctl add-port sdn-br0 eno33554992
虚拟机C上提前下载pipwork大哭  ./pipework sdn-br0 39f80cbc3c5a 192.168.16.6/24 这种命令形式,把两个容器添加上IP(192.168.16.6 192.168.16.7)
虚拟机D上./pipework sdn-br0 39f80cbc3c5a 192.168.16.6/24 这种命令形式,把两个容器添加上IP(192.168.17.6 192.168.17.7)
测试网络同一机器上的容器可以互通 ,跨机器就不通了
虚拟机C上ovs-vsctl add-port sdn-br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.0.17
虚拟机D上ovs-vsctl add-port sdn-br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.0.16
测试网络不出意外,容器之间是通的了

如有错误,或者问题,不要羞涩,请提问我,谢谢。再见
    
    




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值