安装与配置Neutron3

这一节描述在计算节点上安装与配置Neutron服务。


1、配置前的准备工作

在安装与配置Neutron服务前,你必须配置一些内核网络参数:

a、编辑/etc/sysctl.conf,包含如下内容

net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1

b、使改变立即生效

 $sysctl -p



c、添加neutron用户

useradd neutron

2、在Compute节点上安装Neutron

安装openvswitch相关

yum -y install openvswitch* ipset

安装neutron

git clone git://git.openstack.org/openstack/neutron
cd neutron
pip install -r requirements.txt
python setup.py install

新建/etc/neutron,拷贝配置文件

mkdir /etc/neutron
cp  -r ./etc/*  /etc/neutron/

新建/var/log/neutron 及用户neutron,并修改文件夹权限

mkdir  /var/log/neutron
useradd neutron
chown -R neutron:neutron /var/log/neutron

2、配置Neutron通用组建

网络通用服务组建的配置包括数据库、认证服务、消息队列、插件。

编辑/etc/neutron/neutron.conf文件,完成如下步骤:

a、注释掉[database]中的connection选项。因为网络节点不需要直接连接数据库。


b、配置[default]区、[oslo_messaging_rabbit],配置消息队列的访问

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

将RABBIT_PASS替换为自己的数据库密码


c、配置[DEFAULT]、[keystone_authtoken]区,配置认证服务的访问:

[DEFAULT]
...
auth_strategy = keystone
 
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS

将NEUTRON_PASS替换为自己的密码



d、配置[DEFAULT]区,使能ml2插件、路由服务、浮动IP

[DEFAULT]
...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

e、配置verbose 与log_path

[DEFAULT]
...
verbose = True
...
log_dir = /var/log/neutron

3、配置二层插件ML2

ML2插件使用OpenVswitch、代理操作虚拟网络架构的网络。

编辑/etc/neutron/neutron/plugins/ml2/ml2_conf.ini,完成如下步骤:

 a、在[ml2]区,使得flat、VLAN、GRE、VXLAN网络类型的驱动,租户网络类型为GRE,采用OpenVswitch机制

[ml2]
...
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = gre
mechanism_drivers = openvswitch

 b、在[ml2_type_gre]区配置隧道id的范围:

[ml2_type_gre]
...
tunnel_id_ranges = 1:1000


 c、在[securitygroup]配置如下,使能ipset、配置OVS防火墙驱动

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


d、在[ovs]区,使能隧道,配置本地隧道端点

[ovs]
...
local_ip = INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS


e、在[agent]区,使能GRE隧道

[agent]
...
tunnel_types = gre

4、配置Open vSwitch(OVS)服务

OVS服务为虚拟主机提供整个虚拟网络的架构,启动、设置OVS服务开机自启动.

$ systemctl start openvswitch.service
$ systemctl enable openvswitch.service

5、配置Nova使用Neutron网络

默认情况下,Nova使用传统网络,你必须重新配置Nova来使用Neutron。

在compute节点上,编辑/etc/nova/nova.conf,完成如下步骤:

a、在[DEFAULT]配置APIs与驱动

[DEFAULT]
...
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

注意:默认情况下,Nova使用内部防火墙服务。因为Neutron包括了防火墙服务,这里我们使用nova.virt.firewall.NoopFirewallDriver将其禁止。

b、在[neutron]区,配置访问参数

[neutron]
...
url = http://controller:9696
auth_strategy = keystone
admin_auth_url = http://controller:35357/v2.0
admin_tenant_name = service
admin_username = neutron
admin_password = NEUTRON_PASS

将NEUTRON_PASS换成你的密码。

c、重启nova-compute服务

systemctl restart nova-compute.service

6、完成安装

a、网络服务的初始化脚本包含了一个指向/etc/neutron/neutron/plugins/ml2/ml2_conf.ini的 /etc/neutron/plugin.ini文件,所以使用如下命令生产软链接

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

b、创建启动脚本

创建并编辑 /usr/lib/systemd/system/neutron-openvswitch-agent.service 

[Unit]
Description=OpenStack Neutron Open vSwitch Agent
After=syslog.target network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/neutron-openvswitch-agent --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/openvswitch-agent.log 
PrivateTmp=true 
KillMode=process
[Install]
WantedBy=multi-user.target

c、启动与设置开机启动neutron openvswitch agent服务

$systemctl enable neutron-openvswitch-agent.service
$systemctl start neutron-openvswitch-agent.service

7、验证安装

在controller节点上加载admin-openrc.sh,设置全局变量

$ source admin-openrc.sh

b、显示agents验证成功启动的neutron agents

$neutron agent-list
+--------------------------------------+--------------------+-----------+-------+----------------+---------------------------+
| id                                   | agent_type         | host      | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+-----------+-------+----------------+---------------------------+
| 2f04f990-bd61-485e-aa6a-38de67b6fea4 | DHCP agent         | controller| 🙂   | True           | neutron-dhcp-agent        |
| b4cba626-bbfd-44c2-a750-7c3145875c25 | L3 agent           | controller| 🙂   | True           | neutron-l3-agent          |
| d7082e16-bffa-491f-aca0-f293d8224acf | Open vSwitch agent | controller| 🙂   | True           | neutron-openvswitch-agent |
| f4c22739-31a3-4a80-b175-285c7ce2c06e | Metadata agent     | controller| 🙂   | True           | neutron-metadata-agent    |
| f9230615-5cb1-41ac-9a25-83e6cb14a551 | Open vSwitch agent | compute1  | 🙂   | True           | neutron-openvswitch-agent |
+--------------------------------------+--------------------+-----------+-------+----------------+---------------------------+










Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
永久连接: http://www.nfvschool.cn/?p=415
标签:

发表评论