node1:192.168.1.50 docker 127.17.1.1
node2:192.168.1.52 docker 127.17.2.1

1.1
关闭selinux
setenforce 0(立即生效)
vi /etc/selinux/config ,(重启生效)

#SELINUX=enforcing
SELINUX=disabled
1.2
关闭firewall
centos7默认开启了firewall,需关闭。
systemctl stop firewalld(立即生效)
systemctl disable firewalld(重启生效)

2
安装相关软件包
yum install docker
service docker start
chkconfig docker on
yum install net-tools
yum install bridge-utils

编译安装ovs
node01和node02 安装openvswitch

最新的为openvswitch-2.4.0.tar.gz,

3.1源码安装。

root用户执行:

yum -y install wget openssl-devel kernel-devel
yum groupinstall “Development Tools”
adduser ovswitch

ovswitch用户执行:

su – ovswitch
wget http://openvswitch.org/releases/openvswitch-2.4.0.tar.gz
tar -zxvpf openvswitch-2.4.0.tar.gz
mkdir -p ~/rpmbuild/SOURCES
sed ‘s/openvswitch-kmod, //g’ openvswitch-2.4.0/rhel/openvswitch.spec > openvswitch-2.4.0/rhel/openvswitch_no_kmod.spec
cp openvswitch-2.4.0.tar.gz rpmbuild/SOURCES/
rpmbuild -bb –without check ~/openvswitch-2.4.0/rhel/openvswitch_no_kmod.spec
exit

root用户执行:

yum localinstall /home/ovswitch/rpmbuild/RPMS/x86_64/openvswitch-2.4.0-1.x86_64.rpm
或者下载安装包
http://pan.baidu.com/s/1c0x7Wcw
rpm -ivh openvswitch-2.4.0-1.x86_64.rpm

3.3启动openvswitch
systemctl start openvswitch.service (立即生效)
chkconfig openvswitch on  (重启生效)
查看状态:
systemctl  status openvswitch.service -l

===========配置篇======
4.node01和node02 配置OVS Bridge及GRE

规划:

node01:容器内地址段172.17.1.0/24,新网桥:kbr0,GRE:gre0

node02:容器内地址段172.17.2.0/24,新网桥:kbr0,GRE:gre0

4.1 node01:部署

开启ip转发:cat /proc/sys/net/ipv4/ip_forward,显示为1,表示开启。

ovs-vsctl add-br obr0
ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.1.52   #node1上执行
ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.1.50   #node2上执行

service docker stop
brctl addbr kbr0
brctl addif kbr0 obr0
ip link set dev docker0 down
ip link del dev docker0

vi /etc/sysconfig/network-scripts/ifcfg-kbr0

ONBOOT=yes
BOOTPROTO=static
IPADDR=172.17.1.1  #node1上配置
IPADDR=172.17.2.1  #node2上配置
NETMASK=255.255.255.0
GATEWAY=172.17.1.0 #node1上配置
GATEWAY=172.17.2.0 #node2上配置
USERCTL=no
TYPE=Bridge
IPV6INIT=no

vi /etc/sysconfig/network-scripts/route-ens192   #(ip -a 查看网卡)这里route-ens192是和 该目录下的ifcfg-ens192对应的

172.17.2.0/24 via 192.168.12.196 dev ens192   #这里ens192是 ip a命令看到的本地网卡不同的机器可能不一样

修改docker配置文件,添加-b参数

vi /etc/sysconfig/docker

OPTIONS='--selinux-enabled -b=kbr0'   #docker1.9貌似不修改不起作用

reboot

说一下中间会遇到的坑
1.ip转发
Linux系统缺省并没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令:
cat /proc/sys/net/ipv4/ip_forward
如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。
要想打开IP转发功能,可以直接修改上述文件:
echo 1 > /proc/sys/net/ipv4/ip_forward
把文件的内容由0修改为1。禁用IP转发则把1改为0。
上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改/etc/sysctl.conf文件,修改下面一行的值:
net.ipv4.ip_forward = 1
修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效:
sysctl -p /etc/sysctl.conf

进行了上面的配置后,IP转发功能就永久使能了

2.openvswitch无法打开提示 XX.db找不到
/usr/share/openvswitch/scripts/ovs-ctl start

3.docker网卡修改,针对centos7:vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled -b=kbr0'

转载于:https://blog.51cto.com/3892977/1720629

docker-ovs遇到的问题以及解决办法相关推荐

  1. Docker挂载主机目录Docker访问出现Permission denied的解决办法

    问题: docker挂载主机目录Docker访问出现Permission denied terminate called after throwing an instance of 'boost::f ...

  2. Docker容器镜像删除不掉解决办法?

    使用Docker的时候,发现使用docker rmi  镜像ID 删除不了镜像,该如何解决呢? 目录 一.问题复现 (1)首先安装好docker环境 (2)拉取helloworld镜像 (3)执行删除 ...

  3. docker进入容器出现bash-4.2#解决办法

    docker进入容器显示bash-4.2#如下: [root@VM-4-15-centos shopmall]# docker exec -it -u root 1f654abf60ac bash b ...

  4. 群辉Docker 下载仓库镜像提示失败 解决办法

      使用群晖的Docker套件过程中,经常遇到映像下载失败及下载速度只有几KB到几十KB的情况.猜测是因为国内外网络环境问题,所以使用阿里云的加速器加速Docker映像的下载就可以解决这个问题 ​ 如 ...

  5. nvidia docker容器不支持中文的解决办法_用docker搭建深度学习实验环境

    tensorflow和pytorch官方都维护了不同版本的docker镜像.借助docker我们可以方便的搭建起深度学习实验环境. 但是想要在同一个容器内同时拥有tensorflow.pytorch. ...

  6. DOCKER OVERLAY2占用大量磁盘空间解决办法

    1.首先找到OVERLAY2目录 cd /var/lib/docker/overlay2 2.查看文件的大小 du -h --max-depth=1 3.查看占用空间的PID,以及对应的容器名称 do ...

  7. docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器

    点我获取阿里云免费镜像加速器 先确认一下docker版本>1.10.0 docker -v 人人都有免费哦~ 进入对应目录查看,我是root用户且没有 daemon.json文件 那就创建一个 ...

  8. docker 启动容器报错及解决办法

    docker 启动容器报错:Error response from daemon: oci runtime error: container_linux.go:247: starting contai ...

  9. Docker占满磁盘空间的解决办法

    通过命令可以观察到/var/lib/docker目录很大,我的主机只有20G,这个目录占了18G:原因是devicemapper的空间设的太大,通过docker info打印的Data Space T ...

  10. win10 docker desktop无法拉取镜像解决办法

最新文章

  1. 2.2栈的另一个应用:括号匹配
  2. 搜索4--noi6264:走出迷宫
  3. Boost:传输文件的测试程序
  4. SAP Spartacus 如何根据 page layout 获得对应支持的 slots
  5. binding.filter(filter) will trigger OData request to backend
  6. 计算机系统基础:虚拟存储管理知识笔记
  7. 驱动级的自动按键_Aqara全自动智能推拉锁D100,体验全自动开门的便捷
  8. oracle flash_cache,11gR2新特性之二 - Flash Cache 的SSD支持
  9. poj1423---求一个大数的位数方法,我猜网站上统计输入字符少于多少位的那个算法...
  10. 导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
  11. 微型计算机控制技术第二版第六章课后答案,微型计算机控制技术第6章习题答案...
  12. 《ShowYou数组代码》第38题:对数组元素进行排序
  13. layui 表格时间显示问题
  14. 科幻3D场景必备要素—地球篇
  15. 【nowcoder 110246】Dima and Salad
  16. Common Prefixes (思维)
  17. redis下载安装后电脑任务管理器中没有redis的显示
  18. 数据挖掘经典书籍推荐
  19. AMBA之AHB总线
  20. 电传输之POE供电的介绍

热门文章

  1. ThreadLocal T类的说明 转载 原作者 lujh99
  2. Alpha冲刺阶段博客汇总
  3. 老齐python-基础7(文件操作、迭代)
  4. webservice第一篇【介绍、Scoket、http调用、wsimport调用】
  5. php简单生成缩略图方法
  6. CentOS工作内容(二)关闭SELinux
  7. 企业如何快速应对市场环境的不断变化
  8. LG电子计划到2010年实现利润翻番
  9. linux报错之no space left on device问题分析
  10. Django使用python-docx-template,并根据模板来生成有数据的word文档