创建 OVS Local Network - 每天5分钟玩转 OpenStack(129)

上一节我们完成了 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 并再次观察这张网络拓扑图的变化。

时间: 2024-07-29 21:49:02

创建 OVS Local Network - 每天5分钟玩转 OpenStack(129)的相关文章

创建 OVS flat network - 每天5分钟玩转 OpenStack(134)

上一节完成了 flat 的配置工作,今天创建 OVS flat network.Admin -> Networks,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "Flat". Physical Network 填写 "default",与 ml2_conf.ini 中 flat_networks 参数值保持一致. 点击 "Create Network"

将 instance 部署到 OVS Local Network - 每天5分钟玩转 OpenStack(130)

上一节创建了 OVS 本地网络 first_local_net,今天我们会部署一个 instance 到该网络并分析网络结构.launch 一个 instance,选择 first_local_net 网络 instance 部署成功,分配的 IP 地址为 172.16.1.3 底层网络发生了什么变化? 对于 instance "cirros-vm1",Neutron 会在 subnet 中创建一个 port,分配 IP 和 MAC 地址,并将 port 分配给 cirros-vm1.

在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)

前面讨论了 OVS local network,今天开始学习 flat network. flat network 是不带 tag 的网络,宿主机的物理网卡通过网桥与 flat network 连接,每个 flat network 都会占用一个物理网卡. 在 ML2 配置中 enable flat network 在控制节点 /etc/neutron/plugins/ml2/ml2_conf.ini 中设置 flat network 相关参数: tenant_network_types = fl

在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)

前面我们已经学习了 OVS 的 local 网络 和 falt 网络,今天开始讨论 vlan 网络. vlan network 是带 tag 的网络. 在 Open vSwitch 实现方式下,不同 vlan instance 的虚拟网卡都接到 br-int 上. 这一点与 linux bridge 非常不同,linux bridge 是不同 vlan 接到不同的网桥上. 在我们的实验环境中,收发 vlan 数据的物理网卡为 eth1,上面可以走多个 vlan,所以物理交换机上与 eth1 相连

创建第二个 local network - 每天5分钟玩转 OpenStack(84)

GUI 中有两个地方可以创建 network: 1. Project -> Network -> Networks 这是普通用户在自己的 tenant 中创建 network 的地方. 2. Admin -> Networks 这是 admin 创建 network 的地方. 前面我们已经用第一种方式创建了 "first_local_net",本节将以第二种方式创建 local network "second_local_net". 菜单路径为 A

部署 instance 到 OVS flat network - 每天5分钟玩转 OpenStack(135)

上一节创建了 OVS flat network,今天我们部署 instance 并验证 flat 网络的连通性. launch 新的 instance "cirros-vm1",网络选择 falt_net. cirros-vm1 分配到的 IP 为 172.16.1.3. cirros-vm1 被 schedule 到控制节点,其虚拟网卡也连接到 br-int. 虚拟网卡与 br-int 的连接方式与 local 网络是一样的,不再赘述. 当前 flat_net 的结构如下: 继续用同

在 ML2 中 enable local network - 每天5分钟玩转 OpenStack(79)

前面完成了一系列准备工作,本节开始将创建各种 Neutorn 网络,我们首先讨论 local network.   local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID. 对于每个 local netwrok,ML2 linux-bridge 会创建一个 bridge,instance 的 tap 设备会连接到 bridge.位于同一个 local network 的 instance 会连接到相同的 bridge,这样 instance 之间就可以

创建 OVS vlan100 netwrok - 每天5分钟玩转 OpenStack(137)

上一节完成了 OVS vlan network 的配置准备工作,今天我们创建 vlan100.打开菜单 Admin -> Networks,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "VLAN". Physical Network 填写 "default",与 ml2_conf.ini 中 network_vlan_ranges 参数值保持一致. Segmentatio

再部署一个 instance 和 Local Network - 每天5分钟玩转 OpenStack(131)

上一节部署了 cirros-vm1 到 first_local_net,今天我们将再部署 cirros-vm2 到同一网络,并创建 second_local_net. 连接第二个 instance 到 first_local_net 以同样的方式 launch instance "cirros-vm2",分配的 IP 为 172.16.1.4. cirros-vm2 也被 schedule 到控制节点,ovs-vsctl show 的输出如下: cirros-vm2 对于的 tap 设