创建 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-12-04 21:30:39

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

将 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

创建第二个 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

创建 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

在 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 之间就可以通信

再部署一个 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 设

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

上一节我们讨论了 flat network 的原理,今天就来创建 "flat_net" 并分析底层网络的实现. 打开菜单 Admin -> Networks,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "Flat". Physical Network 填写 "default",与 ml2_conf.ini 中 flat_networks 参数保持一致.

创建外网 ext_net - 每天5分钟玩转 OpenStack(104)

虽然外部网络是已经存在的网络,但我们还是需要在 Neutron 中定义外部网络的对象,这样 router 才知道如何将租户网络和外部网络连接起来. 上一节我们已经为创建外部网络配置了ML2,本节将通过 UI 创建 ext_net. 进入 Admin -> Networks 菜单,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "Flat" Physical Network 填写 "ex

创建 Monitor 并测试 - 每天5分钟玩转 OpenStack(124)

前面我们创建了 Pool,VIP 并添加了 Member.今天将创建 Monitor,然后测试 LBaaS 是否能够正常工作. 创建 Monitor LBaaS 可以创建 monitor,用于监控 Pool Member 健康状态. 如果某个 member 不能正常工作,monitor 会将其状态设置为 down,从而避免将后续请求转发给它. 下面我们为 Pool 添加一个 monitor. 在 Monitors 标签页中点击 "Add Monitor" 按钮 Type 选择 &quo