Docker OpenvSwitch 应用部署

安装部署OVS并建立GRE隧道

  • 节点1:192.168.1.198 容器网段:172.17.1.0/24
  • 节点2:192.168.1.199 容器网段:172.17.2.0/24

1、节点1节点2操作:修改docker 默认IP地址网段,主配置文件内修改配置参数。

vim /lib/systemd/system/docker.service

# bip参数设置IP地址 指定的是网关。
ExecStart=/usr/bin/dockerd --bip=172.17.2.1/24
# 重启服务
systemctl daemon-reload
systemctl restart docker

2、节点1节点2操作:安装OVS

yum -y install openvswitch bridge-utils

3、节点1节点2操作:启动openvswitch服务

# 启动服务
systemctl start openvswitch

4、节点1节点2操作:创建网桥并激活

# 1、创建网桥
ovs-vsctl add-br br0 # 2、激活网桥
ip link set dev br0 up
[root@weave02 ~]# ifconfig
br0: flags=67<UP,BROADCAST,RUNNING> mtu 1500
inet6 fe80::f488:54ff:fe9e:5d98 prefixlen 64 scopeid 0x20<link>
ether 5e:87:fd:fe:3a:41 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 866 (866.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

查看网桥

5、节点1节点2操作:将gre0虚拟接口加入网桥br0,并设置接口类型和对端IP地址(远程IP指定对端)

注:如果多台主机 需要配置多条策略。由于是点对点通信所以需要创建新的gre端口。

ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.1.77
# 命令解析
ovs-vsctl add port 已创建网桥名称 端口名称 -- set Interface 端口名称 type=隧道类型 options:remote_ip=指定点对点的对端节点IP

6、节点1节点2操作:添加docker0网桥到OVS网桥br0

brctl addif docker0 br0
命令:ovs-vsctl show

3a4acf8f-1db3-4069-8fd8-8dd8e883e914
# 网桥名称
Bridge "br0"
# 端口名称
Port "br0"
# 类型
Interface "br0"
type: internal
Port "gre0"
Interface "gre0"
# 隧道类型
type: gre
# 对端点对点远程地址
options: {remote_ip="192.168.1.77"}
# 版本号
ovs_version: "2.0.0"

查看网桥信息

7、节点1节点2操作:添加静态路由

ip route add 172.17.0.0/16 dev docker0
[root@weave02 ~]# route
Destination Gateway Genmask Flags Metric Ref Use Iface
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

查看路由表

8、节点1节点2操作:验证互通:相互ping测试

docker run -it busybox

Docker OpenvSwitch 应用部署的更多相关文章

  1. qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)

    qemu-kvm和openvswitch安装部署 本文包含两个部分: qemu-kvm的安装部署 openvswitch的安装部署 参考文档: kvm官网:http://www.linux-kvm.o ...

  2. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定

    1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...

  3. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  4. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  5. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  6. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  7. Docker Overlay 应用部署

    Docker Overlay 部署条件 要想使用Docker原生Overlay网络,需要满足以下任意条件: 1.Docker运行在Swarm模式 2.使用键值存储的Docker主机集群 本次部署使用键 ...

  8. Docker Macvlan 应用部署

    Docker Macvlan 应用部署 MacVLAN有两种桥接模式 Bridge模式:不创建子接口的情况下直接去桥接物理接口.直接桥接到与宿主级的同网段. VLAN Bridge模式:创建子接口去桥 ...

  9. Docker OpenvSwitch 介绍 or 工作原理

    Docker OpenvSwitch Network 介绍 什么是OpenVSwich OpenvSwich Network:属于第三方网络项目,可以理解为是一个标准的交换机协议. OpenvSwic ...

随机推荐

  1. fastadmin 使用记录

    1.引用静态css文件 参考路径:D:\wwwroot\public\assets\addons\cms\css 静态资源文件基本都放在public目录下引用 引用实例 D:\wwwroot\addo ...

  2. CF 1131C Birthday

    C. Birthday time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  3. java中的动态代理Proxy

    动态代理是java语言的一个神奇的地方,不是很好理解,下面来看看关键的地方. InvocationHandler 是一个接口,官方文档解释说,每个代理的实例都有一个与之关联的 InvocationHa ...

  4. Q - Girls and Boys

    来源poj1068 In the second year of the university somebody started a study on the romantic relations be ...

  5. 我永远无法学会的dp

    起源:在codeforceround518之后我发现别人都会div1A我根本写不出来,所以我决定退役 咕咕咕咕

  6. node 把文件封装一层文件夹

    把 pages 下面的单个js文件,封装上一个文件夹 var glob = require("glob"); const fs = require("fs-extra&q ...

  7. 【Swing程序设计/常用面板】

    面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须要被添加到其他容器中.Swing常见的面板是JPanel面板和JScrollPanel面板. JPanel面板可以聚集一些组件来布局. ...

  8. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍   Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...

  9. python语法_变量及命名规则

    变量:存储信息的,日后被调用,修改操作 常量:固定不变的量,字母大写 变量命名规则: 1 有字母,数字以及下划线等符号组成 2 区分大小写 3 不能使用数字开头,不能含有特殊字符和空格 4 不能使用 ...

  10. spring管理的类如何调用非spring管理的类

    spring管理的类如何调用非spring管理的类. 就是使用一个spring提供的感知概念,在容器启动的时候,注入上下文即可. 下面是一个工具类. import org.springframewor ...