创建OpenStack网络和子网
时间:2020-02-23 14:30:20 来源:igfitidea点击:
本教程基于OpenStack Ocata Release和OpenStack中子网络服务。
什么是提供者网络?
在在OpenStack上启动实例之前,必须创建必要的虚拟网络基础架构。
实例使用提供者(外部)网络通过第2层(桥接/切换)连接到物理网络基础架构。
该网络包括DHCP服务器,可以为实例提供IP地址。
以下是显示提供商网络的概述(来源:Opentack)的图表:
创建提供商网络(在控制器节点上)
如何在控制器节点上创建提供商网络(不含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
我们应该获得类似于下面的
ml2_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
确认设置:
[Hyman@theitroad ~(keystone)]$openstack subnet list
使用这些设置,我们应该准备好配置计算节点。
配置计算节点:
在我们计算节点上,我们应该在提供程序网络上使用已配置的VLAN ID标记接口。
在我的情况下,这是VLAN 203.我的VLAN接口有以下配置:
[Hyman@theitroad ~]# 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 Base OS而有所不同。
在计算节点上,文件 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