网络服务概述
OpenStack 网络(neutron)允许您创建由其他 OpenStack 服务管理的接口设备并将其附加到网络。插件可以适应不同的网络设备和软件,为 OpenStack 架构和部署提供灵活性。
它包括以下组件:
-
neutron-server
接受 API 请求并路由到相应的 OpenStack 网络插件以执行操作。
-
OpenStack Networking plug-ins and agents
插入和拔下端口,创建网络或子v 3 ! _ & s 7 网,并提供 IP 寻址。这些插件和代理因特定云中使用的供应m p / g商和技术而异。OpenStack 网络附带的插件和代理适用于思科虚拟和物理交换机、NEC OpenFlow 产品、Open vSwitch、Linux 桥接和 VMware NSX 产品。公共代理是 L3(第 3 层)、DHCP(动态主机 IP 寻址)和插件代理。
-
Messaging queue
大多数 OpenStack 网络安装用于在neutron服务器和各种代理之间路由信息。还充当数据库来存储特定插件的T 5 a 2 p网络状态。
OpenStack 网络主要与 OpenStack 计算进行交互,以便为实例提供网络和连接。
网络(neutron)概念
OpenStack 网络(nea E Wutron)管理虚拟网络基础设施 (VNI) 的所有网z 9 g & 6 7络方面以及 OpenStack 环境中物理网络基础结构 (PNI) 的访问层方面。OpenStack 网络使项目能够创建高级虚拟网络拓扑,其中可能包括防火墙和虚拟专用网络 (***) 等服务。
网络提供s R l T @ / c T网络、子网和路由器作为对象抽象。每个抽象都有模仿% k b其物理对应项的功能:网络包含子网,路由器路由不同子网和% , $ 8 x C w R网络之间的流量。
任何给定的网络设置都至少有一8 n % 0 i s d个外部网络。与其他网络不同,外部网络不仅仅是一个几乎定义的网络。相反,它表示在 OpenStack 安装外部可访问的物理外部网络切片的视图。外部网络上的 IP 地址可供外部网络上的任何人以物理物理范围访问。
除了外部网络之外,任何设置的网络都有一个或多个内部网络。这些软件定义的网络直接连接到 VM。只有任何给定内部网络上的 VM 或通过接口连接到类似~ ; Q h N = l Z路由器的子网上的 VM 才能直接访问连接到该网络J n [ & c - 5 ~的 VM。
对于外部网络访问 VM,反之亦然,需要网络之间的路由器。每个路由器有一个连接到外部网络的网关和连接到内部网络的一个或多个接口。与物理路由器一样,子网可以访问连接到同V i x o _ I一路由器的其他子网中的计算C B p I : `机,并且计算机可以通过路由器的网关访问外部网络。
此外,还可以将外部网络上的 IP 地址分配给内部网络上的端口。每当某样东西连接到子网时,该连接称为端口。您可以将外部网络 IP 地址与端口关联到 VM。这样,外部网络上的实体可以访问 VM。
网络也支持安全组。安全组使管理员能够定义组中M 8 - | T 0 + e的防火墙规则。VM 可以属于一个或多个安全组,并且[ g / !"网络* X o 8 / O F ]"应用这些安全组中的规则来阻止或取消阻止该 VM 的端口、端口范围或流量类型。
网络使用的每个插件都有自己的概念。虽然对于操作 VNI 和 OpenStaO : i S % Dck 环境不是至关重要的,但了解这些概念可以帮助您建立网络。所有网络安装都使用核心插件和安全组插件(或只是 No-Ot ^ % Mp 安全组插件)。此外,防火墙即服务 (FWaaS) 也可用。
control n( h j ` F v b 3ode
配置网络接口
-
将第一个接口配置为管理接口:
IP 地址: 172.16.30.30
网络掩码: 255.255.0.0 (或 /24)
默认网关: 172.16.1.1
-
提供程序接口使用特殊配置,而不为它分配 IP 地址。将第二个接口配置为提供程序接口:
替换为实际接口名称。例如,eth1或ens224。
INTERFACE_NAME
-
编辑文件以包含以下内容:
/etc/sysc? ) = 5 : Tonfig/network-scrix C U pts/ifcfg-INTERFACE_NAME
不要更改 和 键。
HWADDR
UUID
DEVICE=INTERFACE_NAME TYPE=Ethernet ONBOOT="yes" BOOTPROTO="none"
- 重新启动X O系统以激活更改。
配置名称解析
-
将节点的主机名设置为
controller
-
编辑文件以包含以下内容:
/etc/hosts
# controller 172.16.30.30 controller # compute1 172.16.30.31 compute1
compute node
配置网络接口
-
将第一L U ?个接= ` 7 D G f 口配置为管理接口G 8 u w:
IP 地址: 172.16.30.31
网络掩码: 255.255.0.0 (或 /24)
默认网关: 172.16.1.1
注意
其他计算节点应使用 172.16.30.32、172.16.30.33 等。
-
提+ ) b Q 1 + . w N供程序接口使用特殊5 O m g b配置,而不为它分配 IP 地址。将第二个接口配置为提供= % a o O 3程序接口:
替换为实际接口名称。例如,eth1或ens224。
INTERFACE_NAME
-
编辑文件以包含以下内容:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
不要? @ ~ ! s更改 和 键。
HWADDp F / o / iR``UUID
DEVICE=INTERFACE_NAME TYPE=Ethernet ONBOOT="yes" Bs - UOOTP_ l $ o U 9 ( 4 dROTa ] P O="none"
- 重新启动系统以激活更改。
配置名称解析
-
将节点的主机名设置为 。
compute1
-
编辑文% N ; o G h c x v件以包含以下内容:
/etc/hosts
# controller 172.16.30.30 controller # compute1 172.16.30.31S 7 m ; Z p ! 5 9 compute1
安装和配置 Control Node
先决条件
在配置 OpenStack 网络(newtron)服务之前,必须创建数据库、服务凭据和 API 终结点。
-
若要创建数据库,请完z - _ d d w S 8成以下步骤:
-
使用数据库访问客户端以用户方式连接] r # O F 3 ! 7到数据库服务器:
root
$ mysqlE F S ( -u root -p
-
创建数据库:
neutron
MariaDB [(none)J ( a %] CREATE DATABASE neutron;
-
授予对数据库的适当访问权限,代之以合适的密码:
neutron
NEUTROC I 5N_DBPASS
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO c a 4 -O 'neutron'@s E J e y } L'localhost' IDENTIFI[ - 5ED BY 'q u q ; 6 e Qneutron'; MariaDB [(none)]> GRANT ALL PRZ = 4 H = U 1IVIL@ ; |EGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';
- 退出数据库访问客户端。
-
-
源凭据以访问仅管理员 CLI 命令:
admin
$ . admin-openrc
-
若要创建服务凭据,请完成以下步骤:
-
创建用户:
neutron
$ openstack user create --domain default --password-prompt neutron User Password: RepeatB , @ Z 4 0 User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | e2bfae4d13db4e5d92ca8a646114e451 | | name | neutron | | options | {} | | password_expi- J H A } Gres_at | None | +-M T L g U C v--------------------+----------------------------------+
-
将角色添加到用户:
admin
neutron
$ o? X 4penstack role add --project service --user neutron ad@ - E J L :min
-
创建服务实体I c ]:
neutron
$ openstack service create --name neut{ u u ) m d 3 *ron --description "L B t 6 E IOpenS@ N ?tack Networking" network +-------------+----------u x ^ f E p------------------------+ | Field |3 ) m . $ [ ` = Value | +-------------+----------------------------------+ | description | OpenStack Networking | | enaV x V K $ R fbled | True | | id | 3976391fcec2480eac5b7956d4eb3e79 | | name | neutron | | type | network | +-------y 9 &------+-----------? W , 5 f o T 1---------------------! S - U Y 0 c L W--+
-
-
Create the Networking service API eX & [ / # = mndpoints:
[root@controller ~]# openstack endpoint create --region RegionOne networS 9 a ? # l k { }k public http://controller:9696 +--------------+----------------------------------+ | Field | Value | +-------f Z 9 S 6-------+--------------------------* c u--------+ | enabled | True | | id | 04583734e3df4b4e914aaf183da169b9 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 3976391fcec2480eac5b7956d4eb3e79 | | service_name_ ? A g ? | neutron | | service_typC ) J ) / V & Re | network | | url | http:9 ; S//controllern ; A X D p z d :9696 | +-3 f ; u G a b ^-------------+----Z 0 ! R-------------s u ; z q------. X A } X c S l-----------+ [root@controller ~]# openstack endpoint create --region RegionOne network internal http://controller:9696 +--------------+-----------d Y I 7 o ! A M ^---p $ (------------------S * ^ T q [--+ | Field | Value | +-------------v z l c b * ) g )-+----------m s X ; s y ~ y 0------------------------+ | enabled | True | | id8 p * 8 R # ! | 3bb987cd742a441998e328a7e10890a2 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 3976391fcec2480eac5b7956d4eb3e79 | | service_name | neutron | | service_type | net` ! R x C t x m /work | | url | http://controllerw b m ? 2 7:9696 | +--------------+----------a 2 K ` o $ O F b------------------------+ [root@controller ~]# openstack endpoint create --regiH R g I Y 4 # [ Qon Regk I Y C ( R 3ionOne network ade : f V E [ D zmin http://controller:9696 +------------= H c x F m Z ;--+----------------------------------+ |( $ U i U W Field | Value | +--------y J @ u------+----------------------------------+ | enabled | True | | id | c27825578b1046d3af9d2256ef41@ _ ( & O }054f | | interface | admin | | region | RegionOne |A . o 7 V $ | region_id | RegionOne | | service_id | 3976391fc_ b = $ + hec2480eac5b7956d4eb3e79 | |C { i service_name | neutron | | service_type | network | | url | http://controller:9696 | +: i j--------------+----------------------------------+
配置网络选项
您可以使用选项 1 和选a x % r )项 2 表示的两L k M 6 3个体系结构之一部署网络服务。
选项 1 部署最简单的体系结构,该体系结构仅支持将实例附加到提供程序(外部)网络。没有自助服务(专用)网络、路由器l C | ; U C } L ^或浮动 IP 地址。只有或其他特权用户可以V ] t @ = U , } y管理提供程序网络。admin
选项 2 使用支持将实例附加到自助服务网络的第 3 层服务来增强选项 1。或其他非特权用户可以管理自助服务网络,包括提供自助服务和提供程序网络之间连接的路由器。此外,浮动 IP 地址使用来自外部网络(如 Internet)的自助服务网络向实例提供连接。demo
自助服务网络通常使用叠加网络。叠加网络协议(如 VXLAN)包括增加开销和减少有效负载或用户数据` N * r Z i Q m可用空间的其他标头。在不知道虚拟网络基础结构的情况下,a K [ B V E实例尝试使用默认以太网最大传输单元 (MTU) 1500 字节发送数据包。W 0 ~ l q u网络服务通过I z E DHCP 自动向实例$ J O E ( z | p提供正确的 MTU 值。但是,某些云映像不使d * T i ~ ! | i Z用 DHCP 或忽略 DHCP MTU 选项,` } T t P并且需要使用元数据或脚本进行配置。
注意
选项 2 还支持将实例附加到提供程序网络。
选择以下网络选项之一来配置特定于它的服务。之后c X . o ; K,返回此处并继续配置元数据代理。
- 网络选项 1:提供商网络
- 网络_ } i - r +选项 2:自助服务网络
网络选项 2:自助服务网络
在控 control node 上安装和配置neuA s 1 7tron组件。
安装组件
# yum inE X w P ~stall openstack-neutron openst E } N , Q 0 Lack-neutron-ml2 \
opens0 g btack-neutron-linuxbridge ebtables
配置服务器组件
-
编辑文件并完成以下操作:
/etc/neutron/neutron.conf
- 在 本节中,配置数据库访问:
[database]
[database] # ... connection = myW ( 8 4 ksql+pymysql://neutron:neutron@controller/neutron
替换为为数据库选择的密码。
NEUTRON_DBPASS
注意
注释掉或删除部分中任何其他选项。
connection
[database]
- 在本节中,启用模块化第 2 层 (ML2) 插件、路由器服务和重叠的 IP 地址:
[DEFAUQ @ A m 9 : }LTJ { X h ] 2 ; V E]
[DEFAULT] # ... core_plugin = ml2 service@ z 5 p H w E_plugins3 p B @ K 2 ? ) V = router allow_overlapping_ips = true
- 在 部分中,配置消息队列访问:
[DEFAULT]``RabbitMQ
[DEFAULT] # ... transport_url = rabbit://openstack:openstack@cont- 8 r j G Droller
替换为在 RaR F Z Y D jbbitMQ 中为帐户选择的密码。
RABBIF W [ ?T_PASS``openstaci t & . * Ok
- 在 和 部分中,配置标识服务访问:
[DEFAULT]``[keystone_authtoken]
[DEFAULT] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:k @ 4 % w ^ 2 1 i5000 memcached_servers =b t x 4 G R c controller:11211 auth_type = password project_domain_name = default user_don l 0 7 q 0main_name = default project_name = service username = neutron password = neutron
替换为"标识X D 7 C n 5 2 p c"服务中为用户选择的密码。
NEUTR^ G 5 S XON_PASS
neutron
- 在 和 部分中,配置网络以通知网络拓扑更改的计算:
[DEFAULT]
[nova]
[M ( C w M X o / CDEFAULT] # ... notify_nova_on_port_stat, 4 w = ` F % .us_changes = true noU ? _tify_nova_on_port_data_chan , Lges = true [nova7 Z L Q b W n ) -] # ..L g 4 ) k. auth_url = http://controller:5000 auth_type = passwL 9 8 Q a Mord project_domain_name = default user_b ` f _ % V U xdomain_name = default region_name = RegionOne project_name = serH { Ovice username = nova password = nova
替换为"标识"服务中为用户选择的密码。
NOVA_PASS
nova
- 在 本节中,配置数据库访问:
-
在 本节中,配置锁定路径:
[oslo_concurrency]C G b d | ? }
[oslo_concurrency] # ... lock_path = /var/lib/neutron/tmp
配3 ( t m U d N ! )置模块化第 2 层 (ML2) 插件
ML2 插件使用 Linux 桥接机制8 1 7 5 x构建第 2 层(桥接和交换)虚拟网络基础结构(例如。
-
编辑文件并完成以下操作:
- 在本节中,启用平面、VLAN 和 VXLAN 网络:
[ml2]
[ml2] # ... type_drivers = flat,vlan,vxlan
- 在本节中,启用 VXLAN 自助服务网络:E s A ` C } h E
[ml2]
[ml2] # ... tenant_networP r : g M W 0k_types = vxlan
- 在本节中,启用 Linux 桥接和第 24 I } 9 T R 层总体机制:
[ml2]
[ml2] # ... mechanism_drivers = linuxbridge,l24 H 5 u b i @population
警告
配置 MG B A p * : !L2 插件后,删除X + L选项中V ? s s D Q的值可能会导致数据库不一致。
type_drivers
注意
Linux 网桥代理仅支持 VXLAN 覆盖网络。
- 在 部分中,启用端口安全扩展驱动程序:
[ml. k u2]
[ml2] # ... extension_d- s 8 s S S k ~ Brivers = port_security
- 在 本节中,将提供程序虚拟网络配置为平面网络:
[ml2_type_flat]
[ml2_type_flat] # ... flat_networks = prs K 1 }ovider
- 在本节中,为自助服务网络配置 VXLAN 网络标识符范围:
[ml2_typeH A Y W u - 4 v *_vxlan]
[ml2_type_vxlan] # ... vni_ranges = 1:1000
- 在本节F * 4 X / 9 s B中,启用 ipset 以提高安全组规则的效率:
[securitygroup]
[securitygroup] # ... enable_ipset = true
- 在本节中,启用平面、VLAN 和 VXLAN 网络:
配置 Linux 网桥代理
Linux 桥接代理为实例构建第 2 层(桥接和交换[ * E p i)虚拟网络基+ D K k n % [ k [础结构并处理安全组。
-
编辑文件并完成以下操作:
/etc/net 9 & + & ` E 9 }utron/plugins/ml1 ] X k Y 1 g /2/linuxbridge_agent.ini
- 在 该部分中,将提供程序虚拟网络映射到提供程序物理网络接口:
[# A w B Xlinux_bridge]
[linux_bridge] physical_interface_mappings = provider:ens34
替换为基础提供程序物理网络接口的S R E名称。有关详细信息,请参阅主机网络。
PR4 H 3 d P wOVIDER_INTERFACE_NN j ! d ! j Y Z {AME
- 在本节中,启用 VXLAN 覆盖网络,配置处理叠加网络的物理网络接口的 IP 地址,并启用第 2 层总体:
[vxlan]
[vxlan] enable_vxlan =B i 3 true local_ip = 172.16.30.30 l2_population = true
替换为处理叠加网络的基础物理网络接口的 IP 地址。示例体系结构使用管理接口将流量隧道到其他节点。因此,替换为控制器节点的管理 IP 地址。有关详细信息,请参阅主机网络。
OVERLAY_INTERFACE_X - 2 + p L |IP_ADDRESS
OVERLAY_INTERFACE_IP_ADDRESS
- 在本节, A B h ! n中,启用安全组并配置 Linux 网桥 iptables7 w | K ( D . 防火墙驱动程序:
[securitygroup]
[seF / D S I S ~curitygroup] # ... enable_s& Y 6 ] qecuritB 6 f c F g $ ?y_gry & k Z m ooup = true firewall_driver = neutron.agent.linuxX ` P N ).iptables_firewall.IptablesFirewallDriver
- 通过验证以下所有值设置为 : 确保 Linux 操作系统内核支持网桥筛选器i r A A 9 4 j 1:
sysctl
1
net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6X ( ftar . 6 Sbles
要启用网络网桥支持,通常需要加载内核模块。有关启用此模块的其他详细信息,请查看操作系统的文档。
br_netfilter
- 在 该部分中,将提供程序虚拟网络映射到提供程序物理网络接口:
配置第 3 层代理v g Z 1
第 3 层 (L3) 代理为自助服务虚拟网络提供路由和 NAT 服务。
-
编辑文件并完成以下操作:
/etc/neutron/l3_agent.ini
- 在 本节中,配置 Linux 网桥接口驱动程序:
[DEFAULT]
[DEFAUt g $ a v ALT] # .| R i ! o ` O K.. interface_driver = linuxbridge
- 在 本节中,配置 Linux 网桥接口驱动程序:
配置 DHCP 代理
DHCP 代理为虚拟网络提供 DHC) y i p g . + :P 服X 9 g P W }务。
-
编辑文件并完成以下操作:
/etc/neutron/dhcp_agent.inU s X Ki
- 在本节中,配置 Li4 + ( d * q Nnux 网桥接口驱动程序 Dnsmasq DHCP 驱动程序,并启用隔离4 T $ Q I + }元数据,以便提供商网络上的实例可以通过M e 1 l网络访问元数据:
[Da n n ^ p : jEFAULT]
[DEFAUI D O sLT] # ... interface_driver = linuxbridge dhcp_dri& E { w = : h & wver = neutron.agent.linux.dhcpL t h.D3 Z o v V u r & gnsma 8 Z g Rsq enable_isolated_metadata = true
- 在本节中,配置 Li4 + ( d * q Nnux 网桥接口驱动程序 Dnsmasq DHCP 驱动程序,并启用隔离4 T $ Q I + }元数据,以便提供商网络上的实例可以通过M e 1 l网络访问元数据:
返回到 control node 节点配置*。
配置元数据代理
元数据代理提供配置信息,如实例的凭据。
-
编辑文件并完成以下操作:
/etc/neutrQ | C R vo0 ( - x O = 1 8n/metadata* N 0 ~ ;_agent.ini` { F _
- 在本节中,配置元数据主机和共享Q 0 B =密钥:
[DEFAULT]
[DEFAULT] # ... nova_metaQ / Ydata_host = controller metadata_proxy_shared_secret = ljy
替 e _ M ^ d 9换为元数据代理的合适密钥。
METADATA_SECRET
- 在本节中,配置元数据主机和共享Q 0 B =密钥:
将计算服务配置为使用网络服务
必须安装 Nova 计_ } 5 p S %算服务才能完成此步骤。有关详细信息,请参阅文档网站的安装指南部分下的计算安装指南。
-
编辑文件并执行以下操作:
/etc/nova/nova.conf
- 在 本节中,配置访问参数、启用元数据代理并配置机密:
[neutron]i ; J v x G
[neutron] # ... auth_url = http://controller:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = Reg7 F P +ionOne project_nameG L q 2 q D A Z = service username = nl a B _ ceutron password = NEUTRON_PASS service_metadata_proxy = true metadata_proxy_shared_secrW 9 t het = METADATA_SECRET
替换为"标识"服务中为用户选择R u T ^ 8 & U A 8的密码。
NEUTRON_PASS
neutron
替换为为元数据代理选择X X o ) Y J U的机密。
METADATA_SECRET
有关完整选项集(包括必要时覆盖服务目录终结点 URL),请参阅计e % X 8 o a {算服务配置指南。
- 在 本节中,配置访问参数、启用元数据代理并配置机密:
完成安装
-
网络服务初始化脚本需要一个指向 ML2 插件配置文件的符号链接6 5 J e u X Z k。如果此~ O O k Y x符号链接不存在,请使用以下命, C }令创建它:
/etc/neutron/plugin.ini``/etc/neutr! 7 C x L V von/plugins/ml2 [ y r/ml2_cd ) J * ronf.ini
# ln -s /etc/neutron/plugin~ v ^ g W 5s/ml2/ml2_conf.ini /S / t N .etc/neutro2 9 [ = k yn/plugin.ini
-
填充数据库:
# su -s /bin/sh -c "neutL @ 6 C P h M dron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
注意
数据库总体稍x H : r } 3 Q R i后为网络出现,因为脚本需要完整的服务器和插件配置文件。
-
重新启动计算 API 服务:
# systemctl restart opensW x B -tack-nova-api.service
-
启动网络服务并将其配置为在系统启动时启动。
对于两种网络选项:
# systemctl enable neutron-server.service \ neutron-linuxb2 _ z g y E V R wridge-. * S u - B -agent.service neutron-dhcp-agent.service \ neutron-metadata-agent.service # systemctl start neutron-server.service \ neutron-linuxbriQ K q 0 _ e w /dge-agent.service neutron-dh7 C ! .cp-agent.service \ neutron-metadata-agent.service
对于网络选项 2,还启用和启动第F g k d r L d O 3 层服务:
# systemctl enable neutron-l3-, r ^ / U h b Iagent.service # systemctl start neutron-l3-agent.service
安装和配置计算节点
安装组件
# yum install opens( ~ b @ . K ( ctack-neutron-linuxbridge ebtables ipset
配置通. | ~用组件
网络通用组件配置包括身份验证机制、消息队列和插件。
注V ` 0 . % ^ =意
默认配置文件因分布而异。您可能需要添加这些节T * r 2 l E和选项,而不是修改= 0 ^ N 8 O s Y现有节和选项。此外i I x D v ,配置代码段中的省略号 () 指示应保留的潜在默认配置选项。
...
-
编辑文M $ ] ;件并完成以下操作:
/etc/neutron/neutron.conf
-
在本节中P S I i k a S G s,注释掉任何选项,因为计算节点不直接访问数据库。
[database]
connecj Y B a 9 z ftion
- 在 部分中,配置消息队列访问: ; ^
[DEFAULT]
RabbitMQ
[DEFAULT] # ... transport_url = rabbitN h 4 D O://openstack:openstack@controller
替换为在 RabbitMQ 中为帐户选择的密码。
RABBIT_PAS@ o $ G G ~ N *S
openstack
- 在 和 部分中,配置标识服务访问:
[DEFAULT]
[keystone_authtoken]
[DEFAULT] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uJ Q q k ] W K qri = httB # q z V l p://controller:5000 auth_urlU O m ; { m = http://controller:5000 memcf N v t ; z k = sached_servers = controller:11211 auth_type = password project_domain_nA F . Bame = default user_% k 9 kdomain_name = default project_name = service username = neutron passworO b m Q rd = neutron
替换为"标识"服务中为用户选择的密码。
NEUTRON_PASS
neutron
注意
注释掉或删除部分中任何其他选项。
[keystone_authtoken]
-
-
在 本节中,配置锁定路径:
[K , ]oslo_concurrency]
[oslo_concurrency] # ... lock_path = /var/lib/neutron/tmp
配置网络选项
选择为控制器节点选择的相同网络选项,以配置特定于其的服务。之后,返回此处并继续配置计算服务以使用网络服务。
- 网络选项 1:提供商网络
- 网络选项 2:自助服务网络
网络选项 2:自助服务网络
配置 Linux 网桥代理
Linux 桥L 8 . A k M接代理为实例构建第 2 层(桥接和交换)虚拟网络4 t i ,基础结构并处理安全组。
-
编辑文件并? J k P h & K完成以下操作:
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
- 在 该部分中,将提供程序虚拟网络映射到提供程M I 1 5 2 j序物理网络接口:
[linux_bridge]
[linux_briN A ~ Ddge] physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
替换为基Q g h础提供程序物理网络接口的名E T q称。有关详细信息,请参阅主机网络。
PROVIDER_INTERFACE_NAME
- 在本节中,启用 VXLAN 覆盖网络,配置处理叠加网络的物理网3 2 D a /络接口的 IP 地址,并启用第 2 层总体:
[vxlan]
[vxl% T 4 Qan] enable_vxlan = true local_ip = OVERLAY_INTERn ; ~ 2 4 s * j SFACE_IP_ADDRESS l2_population = true
替换为处理叠加网络的基础物理网络接口的h y y ] IP 地址。示例体系结构使用管理接口将流量隧道到D V f $ 7其他节点。因此,替换为t : = N i x z计算节点的管理 IP 地址。有关详细信息,请参阅主机网络。
OVERLAY_INTERFACE_IP_ADDRESS
OVE^ d E g ; a ) 6RLAY_INTERFACE_IP_ADDRESS
- 在本节中,启用安全组并配置 Linux 网桥 iptables 防火墙驱: : m ) s . 2 N ]动程序:
[sN * O y y j d i 2ecuritygroup]
[secur8 } [itygroupI e ! J] # ... enable_securu ! I T ^ l N Hity_group = true firewall_driver = neutron.agent.linux.iptables_firewall.I$ H h 3 ) ` 5ptablesFirewallDriver
- 通过验证以下所有值设置为 : 确保 Linux 操作系统内核支持网桥筛选器:
sysctl``1
net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables
要启用网络网桥支持,通常需要加载内核模块。有关启用此模块的其他详细信息w i a w C * s v,请查看操作系统的文档。
br_netfiltI D n # Q } .er
- 在 该部分中,将提供程序虚拟网络映射到提供程M I 1 5 2 j序物理网络接口:
返回到网络计算节点配置。
将计算q h h P服务配置为使用网络服务
-
编辑文件并完成以下操作:
/etc/nova/nova.confk g q H E ? 0 Q +
- 在x E z y 本节中,配置访问参数:
[neutron]
[neutron] # ... auth_uM e ? U M 0 I Prl = http://controller:5000 auth_type = password project_domain_name = default user_domain_nw 4 a / w t T s Oame = default region_name = RegionOne pr| h L 8 (oject_name = service usernamo [ p A f $e = neutron password = neutron
替h C ` / 1 W换为"标识"服务中为用户选择的密码。
NEUTRON_PASS``neuM / ytron
有关完整选项集(包括必要时覆盖服务目录终结点 URL),请参阅计算服务配置指南。
- 在x E z y 本节中,配置访问参数:
完成安装
-
重新启动计算服务:
# systemctl restart openstack-nova-compute.service
-
启动 Linux 网桥代理并将其配置为在系统启动时启动:
# systemctl enable neutron-linuxbridge-agent.service # systemctl start neutron-linuxbridge-agent.service
验证操作
注意
在 contz j v _ ^ Brol node 上执行这些命令。
-
源凭据以访问仅管理员 CLI 命令:
admin
$ . admin-openrc
-
列出已加载的扩展以验证进程成功启动:
neutron-server
openstav 8 E P Dck extension list --network +-------------------------------} l K ` N -------------------------9 V M n---------------------------------------------------------------------------------------------------------+--? ! b h ` / ^-------------------------------------+-------------------------------------------------------T i a j B E-----------------------1 0 A { ] ! I 5----------------------------------------------------------------------------+ | Name | Alif h _ R - p l :as | Description | +---------------------------------7 2 p o &--------------------------------------------------------------------------N , }-----------------------------------------------------+------------------------$ A n S b z---------------+--------------------------------------------------------------------------------------------------------------------| j P---------------------= J K ) O ^ ?---------------# ^ D $ a J 7--+ | Subnet Pool Prefix Operations | subnetpool-prefix-ops | ProM M z Z , E {vides support for adjusting the prefix list of subnet pools | | Default Subnetpools | default-s= ) d 6 Jubnetpools | Provides ability to mark and use a subnetpool= ~ ( q [ o m g as the default. | | Availability Zone | availability_zone | The ava{ F } T r dilability zone extension. | | Network Availability Zone | network_availability_zon4 ? a ? v 5 P $ 1e | AM b 7 P a A Y p EvaQ ~ ; P Tilability zone support forx W Z A network. | | Subnet Onboard | subnet_onboard | Provides support for onboarding subnets into subnet poolN ^ Ls | | Auto Allocated Topology Services | auto-allocated-topology | Auto Allocated Topology Services. | | Neutron L3 Con} U vfigurable external gateway mode | ext-gw-mode | Extension of the router abstraction for specifying whether SNAT should occur on t, + H o c B 7 n ?he external gateway | | Po9 3 crt Binding | binding | Expose port bindings of a virtual, ^ ; E pi O 8 = N Z 7ort to* T : C L , external applicationS A H ( | | agent | agent | The agent management extension. | | Subnet Allocation | subnet_allocation | Enables allocation of subnets from a subnet pool | | D~ ; F qHCP Agent Scheduler | dhcp_agent_scheduler | Schedule networks among6 q Y C @ o e dhcp agens ! z I =ts | | Neutron external network | external-net | Adds ex; / k y v , Gternal network attribute to network resource. | | Empty String Filtering Extension | empty-string-filtY 9 p l o 2 l : ~ering | Allow filtering by attributes with empty striT + q { ,ng value | | Tag support for resources with standarg u -d attribute: subnet, trunk, network_segment_range, router, network, policy, subnetpool, port, security_group, floatingip | standard-attr-tag | Enables to set tag on resources with standard attribuv N t o R | H [ {te. | | Neutron Service Flavors | flavors | Flavor specification for Neutron advanced services. | | Ner D b O ( _ A Wtwork MTU | net-mtu | ProvideA # 4 e F z 8 ( _s MTK K 3 X $ 0 TU attrL ) l w ;ibute for a network resource. | | NetA ; g W M %work IP Availability | network-ip-availability |x F 5 3 j l Provides IP availability data for each network and subnet. | | Qq $ c ? * puota management support | quoM ? ? ` j Xtas | Expose funct@ } s X v l r hions for quotas management per teY G h M { 0 Anant |[ @ & 3 o x j 6 | If-Match constraints based on revision_number | revision-if-match | Extee c b & & 6 R e ?nsion indicating that If-Match basedt M C Z ) n : # k on revision_number is supported. | | Prevent L3 router ports IP address change extension | l3-port-ip-change-not-all8 v xowed | Prevent change of IP address for some L3 router ports | | Availability Zone Filter Extension | availabilitz G , s D - z Gy_zone+ 4 y_filter | Addx ( s % filter paramei z y Nters to AvailabilityZone r ^ 4 a N }esource | | HA Router extension | l3-ha | Adds HA capability to route6 W ; | U 4 drs. | | Enforce Router's Admin State Down Before Update Extension | router-admin-sti T # J = k $ate-down-before-update | Ensure thaa 0 O } _ A $ bt the admin state of a router is down (admin_state_up=False) before updating the distributed attribute | | Filter parameters validation | filter-validation | Provides validation on filter parameR s fters. | | Multi Provider Ne= A mtwork | multi-provider | Expose mh ^ 9 I W 5 Japping of virtual networks to multip] z j e b |le physical networks | | Quota details management sup{ ; 3port | quota_details | Expose functions for quotas usage statistics per projectH 1 F H j I h | | Address sco3 C ( I s j E kpe | address-scope | Address scopes extension. | | Neutron E) - 1 V I @ x i fxtra Route | extraroute | Extra3 1 W routes configuration for L3 router | | Network MTU (writabP m c X l Z d C !le) | net-mtu-W Q * F / Bwritable | Provides a writabl) I ^ f /e MTU attribute for a networ8 0 k + a _k resource. | | Agent's Resource View Syu J H R - B { T mnced to Placement | agei I @ W _ R nnt-resources-synced | Stores sud v e ] f _ N 0ccess/failure of last sync to Placement | | Subnet service types | subnet-service-types | Provides ability to set t] k Ihe subnet service_types field | | Floating IP Pools Extension | floatingip-pools | Pr g L Y hrovides a floating IP pooll n N ` 0 B ns API. | | Neutron Port MAC address regenerate | port-mac-address-regenerate | Network port MAC address regenerate | | Add security_groP P L ) % | 5up type tor t f F network RBAC | rbac-security-groups | Add security_group type to network RBAC | | Provider Network | provider | Expose mapping of virtual networkw R { k }s to physical networks | | Neutron Service TyJ I O d /pe Management | service-type | API f& Q , ] W 5 ; {or retrieving servh 5 l } k ? * @ice providers for Neutron advanced services | | Router Flavor Extension | l3-flav@ ? p t & 4ob r Z =rs | Flavor support for routers. | | Port Security | port-security | Provides port secuk h ) D * p + rit= L vy | | Neutron ExtU O k ]ra DHCP options | extra_dhcp_opt | EW k 0 a + jxtra options configuo 3 + A .ration for DHCP. For example PXE boot options to DHCP clients can be specified (e.g. tftp-server, server-ip-ad6 ! V a | i Fdress, bootfile-name) | | Port filtering og G i i l 2 5 Nn security groups | port-securiG / L S 9 G ] Ity-groups-filtering | Provides security groups filtering when listing ports | | Resource t: F [ A + m 1 Ximestamps | standard-attr-timestamp | Adds created_at and updated_atn u - m [ fields to all Neutron resources that have Neutron standard attribuj A +tes. | | Resource revision numbers | standard-attr-revisions | This extension wi- O E B ) r Zll disD p H r v { m E Bplay the revision number of neutron resources.? y R T + | | Paginationu 5 h [ - suppoO j 8 n q *rt | pagiB = q G | :nation | Extension that in; # s O S % &diC a _ I Lcates that pagination is enabled. | | Sorting support | sorting | ExtenH t u 6 qsion that indicates that sorting is enablK E w C c Ied. |+ i I . j @ - x | security-group | security-group | The security groups extension. | | L3 Agent Scheduler | l3_agent_scheduler | Schedule routers among l3 agents | | Floating IP Port Details Extensio] ^ | c P a =n | fiV 8 8 b mp-porI G Ht-details | Add port_det? 7 xails attribute to Floating IP rese d j W F . jource |m N g d , V v { | Router Availability Zone | router_N @ $ Yavailability_zone | Availability zone support for router. | | RBACz L , b i 5 a G . Policies | rbac-policies | Allows creation and modification of polic; j Aies that controlv u g / tenant access to resources. | | Atomically add/remove extra routes | extraroute-atomic | Edit extra routes of a router on server side by atomically adding/removing extra routes | | standard-attr-description | standard-attr-description | Extension to add descriptions to standard attributes | | IP address sR P M r P { { Oubstring filV ! ; U mteri6 ( .ng | ip-substring-filtering | Provides IP address substring filtering wU x E l H m X 3 Zhen l& I $ g j I uisting ports | | Neutroe z I A _ h =n L3 Router | router | Router abstractz V 9 U (ion for ba} w ? % B usic L3 forwarding between L2 Neutron networks and access to1 & O r external networks via a NAT gateway. | | Allowed Address PairL 7 U Ls | allowed-address-pairs | Provides allowed address pairs | | PorF # f y c xt Bindings Extended | binding-extended | Expose port bindings of a virtual port to external applic@ o X N _ G ; Z Cation | | project_id fie? G , `ld enabled | project-id | Extension that indicates that project_i5 g | N X L xd field is enabled. | | Distributed Virtual Router: 2 l f - Z | dvr | Enables configuration of Distributed Virtual Routers. | +----------------------@ m o ! L i---------------------------------------------------h ~ c i # Y K 9 Y-----------0 c U 2-----T y _ q U i-----------------------------------------------------------------------+( : i w c n a---------------------------------------+-------------------------------------------------------L U x 4 x v J M c---------------------------------------------D R Z Z / U V A M-------v K b %-----------------------------------------------+
注意
实际输出可能与此示例略有不同。
您可以使用 neutron-理智检查命令行客户端对网络执行进一步测试。
对选择部署的网络选项使用验证部分。
- 网络f u ~ S u选项 1A F | H g ` @ &:提供商网络
- 网络选项 2:自助服务网络
网络选项 2:自助服务网络
-
List agents to verify successful lau~ @ Kn_ + 3 { ! c ) @ch of the neutron agents:
$ openstack netwS R e e 8 # i ,ork agent list +* p . 7 7 f M k------------8 T I J | b---------h I = & B q-----------------+--------------------+------------+-------------------+-------+-------+-----------j j / + Y B----------------+ | ID | Agent Type | Host | Availability Zo/ x &ne | Alive | State | Binary | +------------------------------------X X q u--+--------------------+------------+-------------N m T j-----_ s { | } D = e t-+-------+-------+---------R S k M x A------------------+ | 49db6516-8804-4480-982b-d63b6136c104 | Metadata agent | controller | None | :-) | UP | neutron-metadata-agent | | 811cab93-e375-46a4-ad9a-3[ 7 1 8 3 F ?182ae6 f # de13463 | L3 agent | controller | nova | :-) | UP | neutron-l3-agent | | 8677aa32-5860-4548A G 2-b66f-d85c7e054116 | Linux b] h v 9 t r . C tridge agent | controller |3 % a X : - ~ - None | :-) | UP | neutron-linuxbridge. ^ A x ` % % 0 G-agent | | 89349293-9c69-4989-8dea-64a2954c5df0 | Linuxq 7 X S ! E , m K brido : G x P { ; 9ge0 ? 9 * X H agent | compute | None | :-) | UP | neutron-linuxbridge-agent | | a47R v ! + . 3 ( ( .dcc31-31c4-455d-af1d-bd3db193cda0 | DHCP agH b G hent | controllerb f % . i | nova | :-) | UP | neutron-dhcp-agent | +--------------------c 7 g = 6 ~ s 2--------------A s V ----+-------------: c : 0 ] ~ 0-------+------------+-------------------+-------+-------+---------[ M G o O K 4 7------------------+
发表评论