Openstack Mitaka安装手顺(5)Networking服务

5、Networking 服务

5.1、安装并配置控制节点

5.1.1、创建数据库,服务凭证和API端点

5.1.1.1、完成下面的步骤以创建数据库

用数据库连接客户端以 root 用户连接到数据库服务器:

$ mysql -u root -p

创建``neutron`` 数据库:

CREATE DATABASE neutron;

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'P@ssw0rd';

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'P@ssw0rd';


5.1.1.2、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

$ . admin-openrc


5.1.1.3、要创建服务证书,完成这些步骤:

创建``neutron``用户:

$ openstack user create --domain default --password-prompt neutron

设置密码:P@ssw0rd

image.png


添加``admin`` 角色到``neutron`` 用户:

$ openstack role add --project service --user neutron admin

创建``neutron``服务实体:

$ openstack service create --name neutron --description "OpenStack Networking" network

image.png


5.1.1.4、创建网络服务API端点:

$ openstack endpoint create --region RegionOne network public http://controller:9696

image.png


$ openstack endpoint create --region RegionOne network internal http://controller:9696

image.png


$ openstack endpoint create --region RegionOne network admin http://controller:9696

image.png


控制节点防火墙开放端口:9696

# firewall-cmd --permanent --add-port=9696/tcp

# firewall-cmd --reload


确认端口开放成功

# firewall-cmd --list-all


5.1.2、配置网络选项

本次选择【私有网络】进行网络配置:

5.1.2.1、安装组件

# yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables


5.1.2.2、配置服务组件

编辑vi /etc/neutron/neutron.conf文件并完成如下操作:

在``[DEFAULT]``部分

core_plugin = ml2

service_plugins = router

allow_overlapping_ips = True

rpc_backend = rabbit

auth_strategy = keystone

notify_nova_on_port_status_changes = True

notify_nova_on_port_data_changes = True


在 [database] 部分,配置数据库访问:

connection = mysql+pymysql://neutron:P@ssw0rd@controller/neutron


在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在“[keystone_authtoken]” 部分,配置认证服务访问:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = P@ssw0rd


在``[nova]``部分,配置网络服务来通知计算节点的网络拓扑变化:

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = nova

password = P@ssw0rd


在 [oslo_concurrency] 部分,配置锁路径:

lock_path = /var/lib/neutron/tmp


5.1.2.3、配置 Modular Layer 2 (ML2) 插件

编辑vi /etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作:

在``[ml2]``部分

type_drivers = flat,vlan,vxlan

tenant_network_types = vxlan

mechanism_drivers = linuxbridge,l2population

extension_drivers = port_security


在``[ml2_type_flat]``部分,配置公共虚拟网络为flat网络

flat_networks = provider


在``[ml2_type_vxlan]``部分,为私有网络配置VXLAN网络识别的网络范围:

vni_ranges = 1:1000


在 ``[securitygroup]``部分,启用 ipset 增加安全组规则的高效性:

enable_ipset = True


5.1.2.4、配置Linuxbridge代理

Linux bridge代理为实例建立layer-2虚拟网络并且处理安全组规则。

编辑vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作:


在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来:

physical_interface_mappings = provider:ens34


注解:网卡名根据实际情况填写


在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

enable_vxlan = True

local_ip = 111.111.111.201

l2_population = True



在 ``[securitygroup]``部分,启用安全组并配置 Linuxbridge iptables firewall driver:

enable_security_group = True

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver



5.1.2.5、配置layer-3代理

Layer-3代理为私有虚拟网络提供路由和NAT服务

编辑vi /etc/neutron/l3_agent.ini文件并完成以下操作:

在``[DEFAULT]``部分,配置Linuxbridge接口驱动和外部网络网桥:

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

external_network_bridge =

注解:``external_network_bridge``选项特意设置成缺省值,这样就可以在一个代理上允许多种外部网络


5.1.2.6、配置DHCP代理

The DHCP agent provides DHCP services for virtual networks.

编辑vi /etc/neutron/dhcp_agent.ini文件并完成下面的操作:

在``[DEFAULT]``部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata = True


5.1.3、配置元数据代理

The :term:`metadata agent <Metadata agent>`负责提供配置信息,例如:访问实例的凭证

编辑vi /etc/neutron/metadata_agent.ini文件并完成以下操作:

在``[DEFAULT]`` 部分,配置元数据主机以及共享密码:

nova_metadata_ip = controller

metadata_proxy_shared_secret = P@ssw0rd


5.1.4、为计算节点配置网络服务

编辑vi /etc/nova/nova.conf文件并完成以下操作:

在``[neutron]``部分,配置访问参数,启用元数据代理并设置密码:

url = http://controller:9696

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = P@ssw0rd

service_metadata_proxy = True

metadata_proxy_shared_secret = P@ssw0rd



5.1.5、完成安装

5.1.5.1、网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini``指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini``。

如果超链接不存在,使用下面的命令创建它:

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini


5.1.5.2、同步数据库:

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \

--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

image.png

注解:数据库的同步发生在 Networking 之后,因为脚本需要完成服务器和插件的配置文件。本步骤信息较多,只要无报错即可。


5.1.5.3、重启计算API 服务:

# systemctl restart openstack-nova-api


5.1.5.4、当系统启动时,启动 Networking 服务并配置它启动。

对于两种网络选项:

# systemctl enable neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent

# systemctl start neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent

# systemctl status neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent


对于网络选项2,同样启用layer-3服务并设置其随系统自启动

# systemctl enable neutron-l3-agent

# systemctl start neutron-l3-agent

# systemctl status neutron-l3-agent


5.2、安装和配置计算节点

5.2.1、安装组件

# yum install -y openstack-neutron-linuxbridge ebtables ipset


5.2.2、配置通用组件

Networking 通用组件的配置包括认证机制、消息队列和插件。

注解:默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。

编辑vi /etc/neutron/neutron.conf文件并完成如下操作:

在``[database]`` 部分,注释所有``connection`` 项,因为计算节点不直接访问数据库。


在“[DEFAULT]”部分

rpc_backend = rabbit

auth_strategy = keystone


在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在“[keystone_authtoken]”部分,配置认证服务访问:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = neutron

password = P@ssw0rd

注解:在 [keystone_authtoken] 中注释或者删除其他选项。


在 [oslo_concurrency] 部分,配置锁路径:

lock_path = /var/lib/neutron/tmp


5.2.3、配置网络选项

本次选择【私有网络】进行网络配置:

5.2.3.1、配置Linuxbridge代理

Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。

编辑vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作:

在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来:

physical_interface_mappings = provider:ens34


在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

enable_vxlan = True

local_ip = 111.111.111.202

l2_population = True


在 ``[securitygroup]``部分,启用安全组并配置 Linuxbridge iptables firewall driver:

enable_security_group = True

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver


5.2.4、为计算节点配置网络服务

编辑vi /etc/nova/nova.conf文件并完成下面的操作:

在``[neutron]`` 部分,配置访问参数:

url = http://controller:9696

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = neutron

password = P@ssw0rd


5.2.5、完成安装

重启计算服务:

# systemctl restart openstack-nova-compute


启动Linuxbridge代理并配置它开机自启动:

# systemctl enable neutron-linuxbridge-agent

# systemctl start neutron-linuxbridge-agent

# systemctl status neutron-linuxbridge-agent


5.3、验证操作

在控制节点上执行这些命令。

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

$ . admin-openrc


列出加载的扩展来验证``neutron-server``进程是否正常启动:

$ neutron ext-list

image.png

列出代理以验证启动 neutron 代理是否成功:

$ neutron agent-list

image.png

输出结果应该包括控制节点上的四个代理和每个计算节点上的一个代理,本次测试含一个计算节点,共5个代理


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章