4.3. 配置扁平提供商网络
您可以使用扁平提供商网络将实例直接连接到外部网络。如果您有多个物理网络和单独的物理接口,并且希望将每个 Compute 和网络节点连接到这些外部网络,这将非常有用。
先决条件
您有多个物理网络。
本例分别使用名为
physnet1的物理网络,以及physnet2。您有单独的物理接口。
这个示例分别使用单独的物理接口
eth0和eth1。
流程
在 undercloud 主机上,以 stack 用户身份登录,创建自定义 YAML 环境文件。
示例
vi /home/stack/templates/my-modules-environment.yaml
$ vi /home/stack/templates/my-modules-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示Red Hat OpenStack Platform 编排服务(heat)使用一组名为 template 的计划来安装和配置您的环境。您可以使用自定义环境文件来自定义 overcloud 的各个方面,这是为工作流模板 提供自定义 的特殊模板。
在
parameter_defaults下的 YAML 环境文件中,使用NeutronBridgeMappings指定用于访问外部网络的 OVS 网桥。示例
parameter_defaults: NeutronBridgeMappings: 'physnet1:br-net1,physnet2:br-net2'
parameter_defaults: NeutronBridgeMappings: 'physnet1:br-net1,physnet2:br-net2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Controller 和 Compute 节点的自定义 NIC 配置模板中,使用附加的接口配置网桥。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
openstack overcloud deploy命令,并包含模板和环境文件,包括此修改后的自定义 NIC 模板和新环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。
示例
openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml
$ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
创建一个外部网络(
public1)作为扁平网络,并将它与配置的物理网络(physnet1)关联。将它配置为共享网络(使用
--share),使其他用户创建直接连接到外部网络的虚拟机实例。示例
openstack network create --share --provider-network-type flat --provider-physical-network physnet1 --external public01
# openstack network create --share --provider-network-type flat --provider-physical-network physnet1 --external public01Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
openstack subnet create命令创建子网(public_subnet)。示例
openstack subnet create --no-dhcp --allocation-pool start=192.168.100.20,end=192.168.100.100 --gateway 192.168.100.1 --network public01 public_subnet
# openstack subnet create --no-dhcp --allocation-pool start=192.168.100.20,end=192.168.100.100 --gateway 192.168.100.1 --network public01 public_subnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建虚拟机实例,并将其直接连接到新创建的外部网络。
示例
openstack server create --image rhel --flavor my_flavor --network public01 my_instance
$ openstack server create --image rhel --flavor my_flavor --network public01 my_instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow