创建Openstack网络和子网

时间:2020-02-23 14:37:59  来源:igfitidea点击:

本指南基于Openstack Ocata版本和OpenStack Neutron网络服务。

什么是提供商网络?

在Openstack上启动实例之前,必须创建必要的虚拟网络基础结构。实例使用通过第二层(桥接/交换)连接到物理网络基础结构的提供商(外部)网络。该网络包括为实例提供IP地址的DHCP服务器。

创建提供者网络(在控制器节点上)

如何在控制器节点上创建提供者网络(无VLAN):

openstack network create  --share --external \
  --provider-physical-network provider \
  --provider-network-type flat provider

如何在控制器节点(带有VLAN)上创建提供者网络:

openstack network create --share --external \
--provider-physical-network provider \
--provider-network-type vlan \
--provider-segment 203 provider

使用的选项说明:

--share:  allows all projects to use the virtual network.
--external: defines the virtual network to be external, for internal network, use --internal.
--provider-physical-network provider : connect the flat virtual network to the flat (native/untagged) physical network
--provider-network-type: specifies network type, flat or vlan
--provider-segment: defines vlan id

用VLAN ID替换203. 此VLAN ID将在计算节点上使用。

使用以下命令确认确实已成功创建网络:

$openstack network list

我们应该获得类似于以下内容的输出:

Yourml2_conf.ini文件应包含一行:

[ml2_type_flat]
flat_networks = provider

在提供商网络上创建IPv4子网:

现在我们已经添加了提供商网络,下一步是为网络定义子网。

openstack subnet create --subnet-range 192.168.10.0/24 \
--gateway 192.168.10.1 --network provider \
--allocation-pool start=192.168.10.10,end=192.168.10.200 \
--dns-nameserver 8.8.4.4 provider-v4

如果我们有公共IP池,请用192.168.10.0替换它。

在提供商网络上创建IPv6子网(可选)

如果我们希望将IPv6地址分配给启动的实例,请按如下所示创建IPv6子网:

openstack subnet create --subnet-range fd00:203:0:113::/64 \
--gateway fd00:203:0:113::1 --ip-version 6 \
--ipv6-address-mode slaac --network provider \
--dns-nameserver 2001:4860:4860::8844 provider-v6

确认设置:

[theitroad@localhost ~(keystone)]$openstack subnet list

使用这些设置,我们应该已经准备好配置计算节点。

配置计算节点:

在计算节点上,应使用提供者网络上配置的VLAN ID标记接口。在我的情况下,这是VLAN203. 我的VLAN接口具有以下配置:

[theitroad@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-p55p2.203 
DEVICE=p55p2.203
VLAN=yes
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

注意,使用的基本系统是CentOS 7.3. 对于Ubuntu基本操作系统,配置会有所不同。

在计算节点上,文件" linuxbridge_agent.ini":应该具有如下所示的映射:

physical_interface_mappings = provider:p55p2

在计算节点上配置Linux网桥后,将创建一个网桥。见下文

从上面的输出中,我们可以看到名为brqa54af9d4-d2的网桥,其接口为p55p2.203.p55p2.203是与物理接口p55p2关联的子接口

我们已准备好在先前创建的提供商网络上创建新实例:

openstack server create --flavor m1.tiny --image CoreOS-x86_64 \
 --nic net-id=a54af9d4-d297-45b6-a98c-79d84add5f2e --security-group default \
 --key-name josphat coreos-test-vm