网络服务(Neutron)安装配置 ,这一篇就够了!

实验目标
OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其它的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
它包含下列组件:
neutron-server:接收和路由API请求到合适的网络插件,达到预想的目的。
OpenStack网络插件和代理:插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco 虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。

常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。消息队列大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息。也为某些特定的插件扮演数据库的角色,以存储网络状态。OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。
熟悉在控制节点和计算节点安装配置Neutron服务。

控制节点和计算节点添加网卡

1、实现要求
在控制节点和计算节点分别添加一个网卡,模式为桥接
2、实现过程
控制节点:在虚拟机VM里添加一个网卡,如图所示:
在这里插入图片描述
查看当前网卡信息:

# nmcli con show

在这里插入图片描述
ens33是NAT模式的网卡,ens36即为新添加的网卡,记住UUID然后查看新网卡的MAC地址:

# ip addr

在这里插入图片描述
记住MAC地址
到/etc/sysconfig/network-scripts/目录下,复制一个ifcfg-ens33 为 ifcfg-ens36,修改为如下:

HWADDR="0:0c:29:8d:b8:d2"
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens36"
UUID="a7d8c9ea-3c01-3bf4-9055-060150750251"
DEVICE="ens36"
ONBOOT="yes"

在这里插入图片描述
红色框出来的部分换成自己的即可(ens36是新添加的网卡名称,每个机器可能不一样)

然后重新启动网络服务

# service network restart

使用ifconfig查看一下网卡,如果能看到ens36就成功
如果失败的话,执行以下命令,重新启动网络管理即可

# systemctl stop NetworkManager
# systemctl restart network

然后再用ifconfig查看一下,如图所示,能看到两个网卡即可
在这里插入图片描述
最后把网络管理启动。

# systemctl start NetworkManager

计算节点同样按照此方法添加网卡,过程略。

控制节点创建数据库、凭证和API endpoint

1、实现要求
在控制节点创建数据库、服务凭证和API endpoint
2、实现过程
登录数据库

# mysql –uroot –p

创建数据库neutron,用户neutron并授权(密码为123456)

MariaDB > CREATE DATABASE neutron;
MariaDB > GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'controller' IDENTIFIED BY '123456';

在这里插入图片描述
完成以后重启数据库

# systemctl restart mariadb

创建凭证和API endpoint
获得admin凭证

# . admin-openrc

创建neutron用户,会提示输入密码(我这里是123456)

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

在这里插入图片描述
添加admin 角色到neutron 用户,没有输出

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

创建neutron服务实体

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

在这里插入图片描述
创建网络服务API endpoint

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

控制节点安装Neutron服务并配置

1、实现要求
在控制节点安装Neutron服务并配置
2、实现过程
安装服务

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

进入/etc/neutron/目录,备份neutron.conf文件 neutron.conf.bak

# cd /etc/neutron/
# cp neutron.conf neutron.conf.bak

修改neutron.conf如下: vi neutron.conf

[database]                                        
connection = mysql+pymysql://neutron:123456@controller/neutron

[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 = 123456

[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 = 123456

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

[DEFAULT]
core_plugin = ml2
service_plugins =
transport_url = rabbit://openstack:123456@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true

进入/etc/neutron/plugins/ml2/目录,备份ml2_conf.ini文件ml2_conf.ini.bak

# cd /etc/neutron/plugins/ml2/
# cp ml2_conf.ini ml2_conf.ini.bak

修改ml2_conf.ini,如下: vi ml2_conf.ini

[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]			   
flat_networks = provider
[securitygroup]			   
enable_ipset = true

进入/etc/neutron/plugins/ml2/目录,备份linuxbridge_agent.ini文件

# cd /etc/neutron/plugins/ml2/
# cp linuxbridge_agent.ini linuxbridge_agent.ini.bak

修改linuxbridge_agent.ini,如下:vi linuxbridge_agent.ini(provider:ens36 这里的ens36是新添加的网卡名称

[linux_bridge]
physical_interface_mappings = provider:ens36
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

进入/etc/neutron/目录,备份dhcp_agent.ini文件dhcp_agent.ini.bak

# cd /etc/neutron/
# cp dhcp_agent.ini dhcp_agent.ini.bak

修改dhcp_agent.ini,如下:vi dhcp_agent.ini

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

进入/etc/neutron/目录,备份metadata_agent.ini文件metadata_agent.ini.bak

# cd /etc/neutron/
# cp metadata_agent.ini metadata_agent.ini.bak

修改metadata_agent.ini,如下:vi metadata_agent.ini

[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = mate

进入/etc/nova/目录,备份nova.conf文件nova.conf.bak2

# cd /etc/nova/
# cp nova.conf nova.conf.bak2

修改nova.conf文件,如下:vi 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 = 123456
service_metadata_proxy = True
metadata_proxy_shared_secret = mate

初始化网络服务脚本,需要一个超链接/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

同步数据库,完成以后检查数据库neutron中是否存在表,如下图

# 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

在这里插入图片描述
重启nova的API 服务

# systemctl restart openstack-nova-api.service

启动网络服务并配置他们开机自启动(对所有网络选项)

# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

在这里插入图片描述
注意:以上配置的网络是公共网络,若选择配置私有网络(网络选项2),可以参考官网配置。这里建议配置公共网络(网络选项1)
对网络选项2,同样也启用并启动layer-3服务

# systemctl start neutron-l3-agent.service
# systemctl enable neutron-l3-agent.service

在这里插入图片描述
至此,控制节点配置完成

计算节点安装Neutron服务并配置

1、实现要求
在计算节点安装并配置Neutron服务
2、实现过程
安装服务

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

安装完成以后配置Networking通用组件
进入/etc/neutron/目录,备份neutron.conf文件neutron.conf.bak

# cd /etc/neutron/
# cp neutron.conf neutron.conf.bak

修改neutron.conf,如下:vi neutron.conf

[DEFAULT]
transport_url = rabbit://openstack:123456@controller
auth_strategy = keystone
[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 = 123456

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

配置Linux 桥接代理
进入/etc/neutron/plugins/ml2/目录,备份linuxbridge_agent.ini文件

# cd /etc/neutron/plugins/ml2/
# cp linuxbridge_agent.ini linuxbridge_agent.ini.bak

修改linuxbridge_agent.ini,如下: vi linuxbridge_agent.ini(这里的ens36是新添加的网卡名称

[linux_bridge]
physical_interface_mappings = provider:ens36
[vxlan]
enable_vxlan = False
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

修改nova服务配置文件
进入到/etc/nova/目录,备份nova.conf文件nova.conf.bak2

# cd /etc/nova/
# cp nova.conf nova.conf.bak2

修改nova.conf,如下:vi 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 = 123456

重启计算服务

# systemctl restart openstack-nova-compute.service

启动Linux桥接代理并配置它开机自启动

# systemctl start neutron-linuxbridge-agent.service
# systemctl enable neutron-linuxbridge-agent.service

在这里插入图片描述
至此,计算节点的Neutron服务安装配置完成

在控制节点验证安装结果

1、实现要求
在控制节点验证Neutron服务安装的正确性
2、实现过程:
获得admin凭证

# . admin-openrc

列出加载的扩展,对neutron-server进程是否启动正常进行验证

# neutron ext-list

在这里插入图片描述
列出网络代理的列表(有计算节点的显示既成功)

# openstack network agent list

在这里插入图片描述
列出代理以验证启动neutron代理是否成功(有计算节点的显示既成功)

# neutron agent-list

在这里插入图片描述
参考资料:《OpenStack从零开始学》卢万龙著,电子工业出版社第2篇安装配置篇,第14章(P141)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香菜的斌斌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值