Neutron 如何支持多种 network provider - 每天5分钟玩转 OpenStack(70)

本文探讨了Neutron如何通过其开放架构支持多种网络技术,包括使用linuxbridge作为网络提供者的具体实现方式。同时指出了单一核心插件限制及代码重复等问题。

Neutron 的架构是非常开放的,可以支持多种 network provider,只要遵循一定的设计原则和规范。本节我们将开始讨论这个主题。

先讨论一个简单的场景:在 Neutorn 中使用 linux bridge 这一种 network provider。

根据我们上一节讨论的 Neutron Server 的分层模型,我们需要实现两个东西:linux bridge core plugin 和 linux bridge agent。

linux bridge core plugin

  1. 与 neutron server 一起运行。

  2. 实现了 core plugin API。

  3. 负责维护数据库信息。

  4. 通知 linux bridge agent 实现具体的网络功能。

linux bridge agent

  1. 在计算节点和网络节点(或控制节点)上运行。

  2. 接收来自 plugin 的请求。

  3. 通过配置本节点上的 linux bridge 实现 neutron 网络功能。

同样的道理,如果要支持 open vswitch,只需要实现 open vswitch plugin 和 open vswitch agent。

由此可见:Neutron 可以通过开发不同的 plugin 和 agent 支持不同的网络技术。这是一种相当开放的架构。

不过随着支持的 network provider 数量的增加,开发人员发现了两个突出的问题:

  1. 只能在 OpenStack 中使用一种 core plugin,多种 network provider 无法共存。

  2. 不同 plugin 之间存在大量重复代码,开发新的 plugin 工作量大。

下一节将深入讨论这两个问题的成因以及解决方案。

转载于:https://www.cnblogs.com/CloudMan6/p/5747909.html

### 创建外部共享网络 要通过 OpenStack CLI 创建名为 `NETWORK_EXTERNAL` 的外部共享网络并指定 `provider-network-type=flat` 和 `provider-physical-network=external` 参数,可以使用以下命令: ```bash openstack network create \ --share \ --external \ --provider-network-type flat \ --provider-physical-network external \ NETWORK_EXTERNAL ``` 上述命令中的参数含义如下: - `--share`: 将网络设置为共享状态,允许其他项目访问此网络[^1]。 - `--external`: 声明该网络是一个外部网络,通常用于连接到公共互联网或其他外部资源[^4]。 - `--provider-network-type flat`: 指定网络类型为 `flat`,表示不进行 VLAN 或 VXLAN 隔离[^3]。 - `--provider-physical-network external`: 指定物理网络名称为 `external`,这通常是配置在 Neutron 中的物理网卡组名。 如果还需要进一步定义子网范围、DNS 服务器地址以及网关信息,则可以通过附加子网创建操作完成。例如: ```bash openstack subnet create \ --network NETWORK_EXTERNAL \ --subnet-range EXTERNAL_SUBNET_CIDR \ --gateway EXTERNAL_GATEWAY_IP \ --dns-nameserver DNS_SERVER_IP \ EXTERNAL_SUBNET_NAME ``` 其中: - `--network NETWORK_EXTERNAL`: 关联之前创建的外部网络。 - `--subnet-range EXTERNAL_SUBNET_CIDR`: 定义 CIDR 范围,例如 `192.168.100.0/24`。 - `--gateway EXTERNAL_GATEWAY_IP`: 设置默认网关 IP 地址。 - `--dns-nameserver DNS_SERVER_IP`: 添加 DNS 解析器地址。 以上方法能够满足需求,并确保网络被正确标记为外部和共享属性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值