手动部署OpenStack(六)之“neutron安装和配置”

本文详细介绍在OpenStack环境中,如何在Controller节点上安装和配置Neutron网络服务,包括数据库、Keystone用户、软件包安装、服务配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详细步骤
笔记链接:http://note.youdao.com/noteshare?id=985cb724a58969ca959084e582e3bcfa

六、neutron安装和配置

1、neutron安装和配置(controller0)
★该项的所有操作步骤需要使用root用户进行
①创建数据库并授权
#mysql -uroot -popenstack
mysql> CREATE DATABASE neutron;
mysql> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron’@‘localhost’ IDENTIFIED BY ‘NEUTRON_DBPASS’;
mysql> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron’@’%’ IDENTIFIED BY ‘NEUTRON_DBPASS’;
[root@controller0 ~]# mysql -uneutron -pNEUTRON_DBPASS -e “show databases;”

②配置keystone用户
a. 配置keystone用户并授权
[root@controller0 ~]# source /root/admin-openrc.sh
[root@controller0 ~]# keystone user-list
创建neutron用户
[root@controller0 ~]# keystone user-create --name neutron --pass NEUTRON_PASS
连接admin角色和neutron用户
[root@controller0 ~]# keystone user-role-add --user neutron --tenant service --role admin
[root@controller0 ~]# keystone user-role-list --user neutron --tenant service

b. 配置service并注册endpoint
创建neutron服务实体
[root@controller0 ~]# keystone service-create --name neutron --type network --description “Openstack Networking”
查询keystonre服务列表
[root@controller0 ~]# keystone service-list

创建网络服务的api端口
[root@controller0~]#keystone endpoint-create --service cc2907ed76204d77b9698103043f132b --publicurl
http://controller0:9696 --adminurl http://controller0:9696 --internalurl http://controller0:9696 --region regionOne
蓝色部分ID是上条命令执行结果显示的ID
③安装neutron所需的软件包
[root@controller0 ~]# yum -y install openstack-neutron openstack-neutron-ml2 python-neutronclient

④配置neutron,包括:数据库连接,keystone认证,rabbitmq,拓扑状态和插件的配置
a. 配置数据库连接
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf databaseconnection mysql://neutron:NEUTRON_DBPASS@controller0/neutron
[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep mysql

b. 配置keystone认证
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller0:5000/v2.0
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken identity_uri http://controller0:35357
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password NEUTRON_PASS
[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep NEUTRON_PASS

c. 配置rabbitmq连接
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_kombu
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_host controller0
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_port 5672
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_userid neutron
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_password NEUTRON_MQPASS
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rabbit_virtual_host /
[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep rabbit_

d. Neutron使用二层插件
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True
[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep core_

[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep service_

[root@controller0~]# cat /etc/neutron/neutron.conf | grep allow_overlapping_ips

e. 配置neutron和nova状态变更
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_url http://controller0:8774/v2
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_auth_url http://controller0:35357/v2.0
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_region_name regionOne
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_username nova
查看service租户的id号码
[root@controller0 ~]# keystone tenant-list | grep service
| a6876a30df3840ad979323334052eee1 | service | True |
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_tenant_id a6876a30df3840ad979323334052eee1
[root@controller0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_password NOVA_PASS

[root@controller0 ~]# cat /etc/neutron/neutron.conf | grep nova

f. 配置ovs二层插件
网络类型:flat和gre(通用路由封装),从网络类型驱动命名空间加载网络类型列表
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,gre
租户网络类型
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre
ml2采用ovs机制
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
可用于租户网络配置的隧道id范围
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000
使用安全组
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True
使用ipset加速iptables安全组,使ipset支持ipset安装在L2代理节点上
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True
防火墙设置
[root@controller0~]#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

[root@controller0 ~]# cat /etc/neutron/plugins/ml2/ml2_conf.ini | grep ml2

g. 配置nova支持neutron
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api neutron
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf neutron auth_strategy keystone
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf neutron admin_auth_url http://controller0:35357/v2.0
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf neutron admin_tenant_name service
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf neutron admin_username neutron
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf neutron admin_password NEUTRON_PASS

h. 启动neutron-server服务
[root@controller0 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
数据库同步
[root@controller0 ~]# 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

[root@controller0 ~]# mysql -uneutron -pNEUTRON_DBPASS -e “show tables from neutron;”

i. 重启nova服务,和neutron联动
[root@controller0 ~]# service openstack-nova-api restart
[root@controller0 ~]# service openstack-nova-scheduler restart
[root@controller0 ~]# service openstack-nova-conductor restart
j. 重启neutrron-server
[root@controller0 ~]# service neutron-server start
[root@controller0 ~]# chkconfig neutron-server on

k. controller0上校验neutron的配置
[root@controller0 ~]# source admin-openrc.sh
列出创建的加载扩展的neutron-server进程
[root@controller0 ~]# neutron ext-list

查看所有服务的状态
[root@controller0 ~]# openstack-service status
[root@controller0 ~]# openstack-status

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值