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

原文地址:https://www.cnblogs.com/lemanlai/p/12402308.html