上一节我们完成了 OVS 的准备工作,本节从最基础的 local network 开始学习。
local network 不会与宿主机的任何物理网卡连接,流量只被限制在宿主机内,同时也不关联任何的 VLAN ID。
创建第一个 local network
下面我们通过 Web GUI 创建 local network。
进入菜单 Admin -> Networks,点击 “Create Network” 按钮。
显示创建页面。
“Provider Network Type” 选择 “Local”,点击 “Create Network”,first_local_net 创建成功。
点击 first_local_net 链接,进入 network 配置页面,目前还没有 subnet,点击 “Create Subnet” 按钮。
设置 IP 地址为 “172.16.1.0/24”。
点击 “Next”。
勾选 “Enable DHCP”,IP 池设置为 “172.16.1.2,172.16.1.99”。
点击 “Create”,subnet 创建成功。
同时 devstack-controler 针对此 subnet 的 DHCP 服务也已经 Active。
底层网络发生了什么变化?
创建 OVS local network 的过程与 Linux Bridge 没有什么区别。
这是因为 Neutron 已经对不同 driver 进行了抽象,但底层实现肯定是有区别的。
所以,接下来我们要搞清楚底层网络有了哪些变化?
打开控制节点的 shell 终端,用 ovs-vsctl show 查看当前 Open vSwitch 的状态。
可以看到 Neutron 自动在 br-int 网桥上创建了 port “tap7970bdcd-f2”。
从命名可知,该 port 对应 local_net 的 dhcp 接口。
与 linux bridge driver 一样,dhcp 设备也是放在命名空间里的。
目前网络结构如下图所示:
下节我们会部署 instance 到 first_local_network 并再次观察这张网络拓扑图的变化。