zoukankan      html  css  js  c++  java
  • 35) Docker入门【3】

    8- 跨主机连接

    8.1- 使用网桥实现跨主机连接

    8.1.1- 网桥原理

    8.1.2- 实战

    环境:
    Host1 : br0 10.0.0.2 (ubuntu18)
    Host2 : br0 10.0.0.3 (ubuntu18)

    1. apt-get install bridge-utils -y
    
    2. vi /etc/network/interfaces
    auto br0
    iface br0 inet static
    address 10.0.0.2
    netmask 255.255.255.0
    gateway 10.0.0.1
    bridge_ports eth0
    
    3. Host1 修改/etc/default/docker
    -b=br0
    --fixed-cidr=10.0.0.64/26
    
    4. Host2 修改/etc/default/docker
    -b=br0
    --fixed-cidr=10.0.0.128/26
    

    8.1.3- 总结

    有点:
    配置简单,不依赖第三方软件。
    缺点:

    • 与主机在同一网段,需要小心划分IP地址范围。
    • 需要有网段控制权,在生产环境中不易实现。
    • 不易管理
    • 兼容性不佳
      【PS】导致生产环境中一般不使用网桥模式

    8.2- Open vSwitch模式

    8.2.1- ovs介绍

    _ _ _ Open vSwitch 是一个高质量、多层虚拟交换机,使用开源Apache2.0 许可协议,由Nicira Networks 开发,主要实现代码为可移植的C代码。目的是让大规模网络自动化可以通过编程 扩展,同时仍然支持标准的管理接口和协议(例如 NetFlow, sFlow, SPAN, RSPAN,CLI,LACP,802.1ag)

    8.2.2- ovs原理

    8.2.3- gre隧道

    _ _ _ GRE: 通用路由协议封装。
    隧道技术(Tunneling) 是一种通过互联网络的技术设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同的数据帧或者包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
    简单总结就是:点对点的再封装,实现不同网段之间的通信。

    8.2.4- 实战

    环境:
    Host1: 192.168.59.103 (ubuntu18)
    Host2: 192.168.59.104 (ubuntu18)

    步骤:

    1. 安装ovs:
      apt-get install openvswitch-switch -y
    2. 安装网桥管理工具
      apt-get install bridge-utlis -y
    3. 建立OVS网桥
    4. 添加GRE连接
    5. 配置docker容器虚拟网桥
    6. 为虚拟网桥添加OVS接口
    7. 添加不同docker容器网段路由

    例如:
    HOST1


    8.3- weave模式

    8.3.1- weave介绍

    _ _ _ 语意: 编辑
    建立一个虚拟的网络,用于将运行在不同主机的Docker容器连接起来。

    8.3.2- 实战

    步骤:

    • 安装weave
    • 启动weave
      weave launch
    • 连接不同主机
    • 通过weave启动容器

    例如:

    【ps】:使用weave时实际上会运行一个weave的容器

    另外一台宿主机:

    weave lauche ip(第一台宿主机的ip)
    

    运行容器:

    weave run ip -it --name images
    
    weave run 192.168.1.2/24 -it ubuntu /bin/bash
    

  • 相关阅读:
    mysql数据创建带参的存储过程,并在存储过程中调用另一个存储过程
    python解析.xls/.xlsx文件--openpyxl模块(第三方)
    python使用django开发接口
    Mysql创建存储过程--批量插入数据
    Centos7下安装kafka,并使用python操作kafka的简单使用
    Centos7下安装JDK1.8
    Centos7下docker的安装
    python解析.xml文件-- xmltodict模块(第三方)
    解决:git SSL certificate problem: unable to get local issuer certificate
    AD域是什么意思?
  • 原文地址:https://www.cnblogs.com/lemanlai/p/12402308.html
Copyright © 2011-2022 走看看