zoukankan      html  css  js  c++  java
  • Docker之OVS网络

      OVS介绍

    什么是OpenVSwich?
    OpenvSwich:开放虚拟交换标准,是一种基于开源Apache2.0许可证的多层软件交换机,专门管理多租赁云计算网络环境,支持KVM、Xen等虚拟化技术。
    支持以下功能:
    1.支持标准802.1Q VLAN模块的Trunk和access端口模式;
    2.QoS(Quality of Service)配置,及管理;
    3.支持OpenFlow协议;
    4.支持GRE、VXLAN、STT和LISP隧道;
    5.具有C和Python接口配置数据库;
    6.支持内核态和用户态的转发引擎设置;
    7.支持流量控制及监控。
    主要组成部分:
    ovs-vswitchd 一个实现交换机的守护程序
    ovsdb-server 一个轻量级数据库,ovs-vswitchd查询以获取其配置
    ovs-dpctl 用于配置交换机的内核模块工具
    ovs-vsctl 用于查看和更新ovs-vswitchd的配置工具
    ovs-appctl 一个向运行OVS守护程序发送命令的工具
    还提供了openflow的工具:
    ovs-ofctl 用于查看和控制OpenFlow交换机和控制器
    ovs-pki 用于创建和管理公钥
    ovs-tcpundump 解析openflow消息
    

      安装前可以使用命令docker network rm 删除无关的网络   

      安装部署OVS并建立GRE隧道

      节点1:192.168.56.128 容器网段:172.17.1.0/24

      节点2:192.168.56.129 容器网段:172.17.2.0/24

      修改容器的默认网段需要修改配置文件 不能是172.17.1.0/24

      安装OVS

    apt-get install openvswitch-switch bridge-utils
    

       安装完成会以进程的方式启动两个进程一个虚拟交换机一个轻量级数据库

      创建网桥并激活

    ovs-vsctl add-br br0
    ip link set dev br0 up
    

       .将gre0虚拟接口加入网桥br0,并设置接口类型和对端IP地址(远程IP指定对端)

    ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.56.129
    

       添加docker0网桥到OVS网桥br0

    brctl addif docker0 br0
    

       查看网桥信息

    ovs-vsctl show
    

       

    c0cdc0b1-4a93-4a3e-aaf7-6096abc32a8d
        Bridge "br0"
            Port "br0"
                Interface "br0"
                    type: internal
            Port "gre0"
                Interface "gre0"
                    type: gre
                    options: {remote_ip="192.168.56.129"}
        ovs_version: "2.9.0"
    

       在节点2执行操作

    apt-get install openvswitch-switch bridge-utils
    ps -ef|grep open
    ovs-vsctl add-br br0
    ip link set dev br0 up
    ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.56.128
    brctl addif docker0 br0
    ovs-vsctl show
    

      添加静态路由两个节点均操作

    ip route add 172.17.0.0/16 dev docker0
    

      创建容器测试互通

    docker run -it busybox
    

       其中节点1的ip为172.17.1.2 节点2的ip为172.17.2.2 测试是相通的

      

      工作原理

     

      

  • 相关阅读:
    Linux的僵尸进程及其解决方法
    描述linux系统从开机到登陆界面的启动过程
    __weak、__strong这样的关键词和weak、strong有哪些区别
    选择器(UIPickerView)
    UITableView 滚动流程性优化
    几种设置UITableView的cell动态高度的方法
    强大的Core Image(教你做自己的美图秀秀))
    iOS UIBezierPath类 介绍
    Quartz 2D编程指南- PDF文档的创建、显示及转换
    Quartz 2D编程指南(4) - 颜色和颜色空间
  • 原文地址:https://www.cnblogs.com/minseo/p/10166007.html
Copyright © 2011-2022 走看看