(菜汪学docker) 用vmware 完成 docker+ovs+vxlan 实现容器跨主机访问
2017-08-24 16:14
811 查看
本汪刚开始学习ovs,觉得这不是一天两天就能学会的东西,所以就不谈感想和总结了,分享一下我的学习链接吧,自己耐心感悟吧。
如有错误,或者问题,不要羞涩,请提问我,谢谢。
先上一张比较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-server | nohup 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-switch | nohup 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 |
测试网络 | 不出意外,容器之间是通的了 |
相关文章推荐
- docker跨主机容器访问(网桥实现)
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- 使用openvswitch实现跨主机docker容器互联
- Docker跨主机容器访问通信-网桥方式
- Docker跨主机容器访问通信-Open vSwitch
- 使用openvswitch实现跨主机docker容器互联
- docker 使用网桥实现跨主机容器链接
- 使用weave实现跨主机docker容器互联
- 测试docker不同主机间容器互相访问
- Centos7 Docker 多主机 容器互连--基于OVS
- Docker学习笔记之Weave实现跨主机容器互联
- docker1.9网络新特性,overlay网络实现主机间容器互联
- 【Docker容器的跨主机访问】-【使用网桥实现跨主机容器连接】
- Docker实现跨主机容器实例网络通信(2)——利用OpenVSwitch构建多主机Docker网络
- 使用openvswitch实现跨主机docker容器互联
- Docker网络基础---Docker跨主机容器访问通信
- Docker学习笔记 — Weave实现跨主机容器互联
- VMWare-NAT模式实现局域网其他主机对虚拟机访问
- 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)
- 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)