本文介绍了如何使用Open vSwitch为Docker 1.9.0及以后版本提供网络支持。操作前请先确认你已经按照INSTALL.md编译,或者通过包管理器安装了Open vSwitch。
Docker从1.9.0版本之后提供了跨主机的网络支持。通过将Docker和Open vSwitch整合,则可以利用Open vSwitch virtual network(OVN)进行互联互通。
安装
要想使用OVN实现Docker的跨主机网络,Docker在启动时必须指定分布式键值存储服务,比如你打算使用Consul作为键值存储,启动Docker daemon时请使用如下参数:
docker daemon --cluster-store=consul://127.0.0.1:8500 \
--cluster-advertise=$HOST_IP:0
其中$HOST_IP是你主机本地IP。
OVN为容器提供了虚拟化的网络,目前OVN和Docker的集成,有两种方式:即”underlay”模式和”overlay”模式。
在”underlay”模式下,OVN依赖于OpenStack为容器提供网络。此模式下,使用者可以让虚拟机中的容器、独立虚拟机(不运行任何容器)、物理机都连接到相同的逻辑网络下。这是种多租户、多主机的解决方案。
在”overlay”模式下,OVN可以用来创建跨主机的容器间网络。此模式是单租户(当然在不需要额外的网络隔离的情况下可以拓展成多租户)、多主机的解决方案。此模式不依赖OpenStack。
无论哪种模式,想要让容器使用OVN都必须在所有容器宿主机上安装Open vSwitch。
Overlay模式
使用OVN的”o