天天看点

openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

1.概述

网络配置有两种方式:provider网络或者self-service网络,具体情况参考官方文档

provider网络参考和self-service网络参考。更多关于网络服务(包括虚拟网络组件、分层、流量)等信息,请参考Mitaka网络指南。

Neutron包含如下组件:

  • neutron-server

    接收并路由API请求到合适的openstack网络插件。

  • OpenStack Networking plug-ins and agents

    创建网络或子网,提供IP地址。这些插件和代理依靠特定云中使用的供应商和技术,插件可以使用Cisco虚拟和物理交换机,NEC openFlow products,open vSwitch,linux briding 和VMwareNSX。常规的代理有Layer3,DHCP等。

  • Messaging queue

    大多数openstack网络使用它连接neutron-server和各种不同代理间信息交互。此外,也作为一个存储网络状态的数据库。

Openstack网络主要为openstack compute实例提供网络和连通性。

2.控制节点上部署(10.10.80.180)

2.1安装前提

2.1.1 创建数据库

  • 1.以root用户登录数据库

    mysql -u root -p

  • 2.创建“neutron”数据库

    MariaDB > CREATE DATABASE neutron;

  • 3.赋予“neutron”权限

    用123456替代NEUTRON_DBPASS,在openstack安装部署1中规划openstack部署——前言&规划

>GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
>IDENTIFIED BY 'NEUTRON_DBPASS';
>GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \  
>IDENTIFIED BY 'NEUTRON_DBPASS';
           
  • 4.退出数据库

    > exit

2.1.2 source环境配置

. admin-openrc

2.1.3 创建服务凭据

  • 1.创建“neutron”用户,密码为123456,规划见openstack部署——前言&规划

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

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作
  • 2.将“admin”role赋予“neturon”user

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

  • 3.创建“neturon”服务实例

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

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

2.1.4创建网络服务API endpoint

  • public

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

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作
  • internal

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

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作
  • admin

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

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

2.2安装&配置

本次实验选择安装provide网络架构。

2.2.1安装组件

apt-get install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent

2.2.2配置服务组件

网络组件的配置包括:数据库、认证机制、消息队列、拓扑变化通知、插件。

编辑/etc/neutron/neutron.conf文件

  • 1.在[database]部分配置数据库接口

    用创建数据库时的实际密码123456替代NEUTRON_DBPASS

[database]
connection = mysql+pymysql://neutron:[email protected]/neutron
           
  • 2.在[DEFAULT]部分配置modular Layer2(ML2)插件,并禁用其他插件
[DEFAULT]
 ···
core_plugin = ml2
service_plugins =
           
  • 3.在[DEFAULT]部分和[oslo_messaging_rabbit]部分

    配置RabbitMQ,用123456替换RABBIT_PASS

[DEFAULT]
···
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
           
  • 4.在[DEFAULT]部分和[keystone_authtoken]部分配置认证服务接口

    NEUTRON_PASS用“neutron”user的密码123456替换。

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:
auth_url = http://controller:
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
           
  • 5.在[DEFAULT]部分和[nova]部分配置网络来公告拓扑改变

    NOVA_PASS用nova用户密码123456替换

[DEFAULT]
...
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

[nova]
auth_url = http://controller:
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
           

2.2.3 配置Modular Layer 2(ML2)插件

ML2 插件通过Linux网桥机制为实例创建二层(bridging and switching) 虚拟网络设施。编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件:

  • 1.在[ml2]部分,激活flat和VLAN网络
[ml2]
...
type_drivers = flat,vlan
           
  • 2.在[ml2]部分,禁用self-service 网络
[ml2]
...
tenant_network_types =
           
  • 3.在[ml2]部分,激活linux bridge机制
[ml2]
...
mechanism_drivers = linuxbridge
           

【备注:在配置ML2插件后,移除type_drivers选项中的值会导致数据库的不一致性,注释掉该行代码

openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

  • 4.在[ml2]部分,激活端口安全的扩展驱动
[ml2]
...
extension_drivers = port_security
           
  • 5.在[ml2_type_flat]部分,配置provider 虚拟网络作为一个flat网络
[ml2_type_flat]
...
flat_networks = provider
           
  • 6.在[securitygroup] 部分,激活ipset 来提高安全组规则的效率
[securitygroup]
...
enable_ipset = true
           

2.2.4配置linux 网桥代理

Linux网桥代理为实例创建二层(网桥和交换)虚拟网络设施,并管理安全组。修改配置文件/etc/neutron/plugins/ml2/linuxbridge_agent.ini。

  • 1.在[linux_bridge]部分

    将provider 虚拟网络和provider物理网络接口映射,将PROVIDER_INTERFACE_NAME替换为底层物理网络接口名称,具体请参考官方文档

    physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

    openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作
  • 2.在[vxlan]部分,禁用VXLAN
[vxlan]
enable_vxlan = False
           
  • 3.在[securitygroup]部分

    激活安全组并配置linux网桥防火墙

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
           

2.2.5 配置DHCP代理

编辑 /etc/neutron/dhcp_agent.ini 文件:

在[DEFAULT]部分,配置如下内容:

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
           

2.3配置元数据代理

供了实例的各种配置信息,例如实例的认证信息。

编辑文件/etc/neutron/metadata_agent.ini,在在[DEFAULT] 部分配置metadata host 和shared secret,用合适的密码123456替代METADATA_SECRET

[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
           

2.4配置compute,使用networking

编辑/etc/nova/nova.conf,在 [neutron] 部分配置参数接口,激活元数据proxy和配置secret,用密码123456替代NEUTRON_PASS,用123456替代METADATA_SECRET。

[neutron]
url = http://controller:
auth_url = http://controller:
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET
           

2.5完成安装

2.5.1 Populate the database:

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
           

2.5.2重启计算API服务

service nova-api restart

2.5.3 重启网络服务

service neutron-server restart
service neutron-linuxbridge-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
           

3.计算节点部署(10.10.80.181)

3.1安装组件

apt-get install neutron-linuxbridge-agent

3.2配置通用组件

编辑配置文件/etc/neutron/neutron.conf

  • 1.在[database]部分

    注释掉所有“connection”选项,因为计算节点不直接访问数据库。

  • 2.在[DEFAULT]和 [oslo_messaging_rabbit]部分

    配置RabbitMQ 消息队列接口,RABBIT_PASS用rabbit用户的密码123456替代

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
           
  • 3.在[DEFAULT] 和[keystone_authtoken]的部分配置身份认证

    NEUTRON_PASS用123456替代。需要移除keystone_authtoken中除了下列参数以外的选项。

[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:
auth_url = http://controller:
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
           

3.3配置网络选项

配置/etc/neutron/plugins/ml2/linuxbridge_agent.ini

  • 1.在[linux_bridge]配置物理网络接口

    PROVIDER_INTERFACE_NAME用物理网络接口eth0替代

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
           
  • 2.在[vxlan]部分,禁用vxlan
[vxlan]
enable_vxlan = False
           
  • 3.在[securitygroup]部分配置防火墙
[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
           

3.4配置计算服务来使用网络

编辑文件/etc/nova/nova.conf

  • 1.在[neutron]中配置参数

    NEUTRON_PASS用neutron密码123456替代。

[neutron]
url = http://controller:
auth_url = http://controller:
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
           

3.5重启服务

  • 1.重启计算服务

service nova-compute restart

  • 2.重启网络代理

service neutron-linuxbridge-agent restart

4.验证操作

source环境变量,在/root目录下执行 (该脚本在openstack部署3——keystone安装中第六部分创建openstack安装部署3——keystone安装(仅部署在控制节点)

. admin-openrc

4.1 验证neutron-server

neutron ext-list

openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

4.2 验证neturon代理正确性

neutron agent-list

输出节点应该包含在控制节点上有三个代理,在每一个计算节点上有一个代理:

openstack安装部署6——网络服务(控制节点&计算节点)1.概述2.控制节点上部署(10.10.80.180)2.2安装&配置3.计算节点部署(10.10.80.181)3.5重启服务4.验证操作

继续阅读