3.7 计算节点部署Neutron

部署过程
在计算节点部署 Neutron 的核心工作是安装网络代理软件(如 Linux 网桥代理),并将它连接到控制节点的消息队列和网络服务。这样计算节点上的虚拟机就可以通过代理连通虚拟网络了。
一、安装并配置组件
1)安装 Neutron 相关组件
我们需要安装 Linux 网桥代理以及相关的网络工具。
yum install openstack-neutron-linuxbridge ebtables ipset -y
- openstack-neutron-linuxbridge: 负责将虚拟机的网卡连接到物理网络。
- ebtables 和 ipset: 用于实现网络底层安全组规则和防火墙功能。
2)配置公共组件
网络公共组件的配置主要包括:连接 RabbitMQ 消息队列、配置 Keystone 认证服务以及指定锁文件的存放路径。
编辑 /etc/neutron/neutron.conf 文件,配置如下:
[DEFAULT]
# 配置 RabbitMQ 消息队列访问
transport_url = rabbit://openstack:openstack@controller
# 配置身份服务访问
auth_strategy=keystone
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron
# 配置锁定路径
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
3)配置 Linux 网桥代理
Linux 网桥代理的作用是为虚拟机实例构建二层(即桥接和交换)虚拟网络基础架构,并处理安全组规则。
编辑 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件,配置如下:
# 将虚拟网络映射到物理网络接口
[linux_bridge]
physical_interface_mappings = provider:eth0
# 启用 VXLAN 覆盖网络
[vxlan]
enable_vxlan = true
# 配置处理覆盖的物理接口的 IP 地址(换成计算结点的IP地址)
local_ip = 192.168.16.200
# 启用二层同步
l2_population = true
# 启用安全组
[securitygroup]
enable_security_group = true
# 配置 Linux 网桥 iptables 防火墙驱动程序
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
provider:eth0 和 local_ip = 192.168.16.200 需要根据计算节点虚拟机的实际情况进行修改。可以使用 ip a 命令查看网卡名称和 IP 地址。4)配置内核参数支持网桥过滤器
为了确保 Linux 操作系统内核支持网桥过滤器(这对于安全组正常工作非常重要),我们需要开启内核的相关模块和参数。
首先,加载 br_netfilter 模块并查看是否加载成功:
modprobe br_netfilter
ls /proc/sys/net/bridge

接着,编辑 /etc/sysctl.conf 文件,在文件末尾添加以下两行配置:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
iptables 防火墙进行处理。这是 OpenStack 安全组功能正常运行的前提条件。只有开启这两项,虚拟机的网络安全防护(如拦截非法访问)才能真正生效。执行生效
sysctl -p

5)配置计算服务(Nova)使用网络服务
计算节点上的 Nova 服务需要知道 Neutron 的地址,才能在创建虚拟机时为其分配网络。
编辑 /etc/nova/nova.conf 文件,添加以下内容:
[neutron]
url = http://controller:9696
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron
二、完成安装
相关配置修改完成后,需要重启对应的服务让配置生效,并设置网络代理服务开机自启。
1)重启计算(Nova)服务
systemctl restart openstack-nova-compute
2)启用 linux 网桥代理,并设置随系统启动
systemctl start neutron-linuxbridge-agent
systemctl enable neutron-linuxbridge-agent
三、验证配置
配置完成后,我们回到控制节点(Controller)来验证计算节点的 Neutron 代理是否已经成功注册。
1)加载环境变量脚本,获取管理员的命令行执行权限:
source admin-openstack.sh
2)列出已加载的网络扩展,验证 neutron-server 是否加载成功
openstack extension list --network
3)列出网络代理列表,验证计算节点的代理是否成功加载:
openstack network agent list

Linux bridge agent 代理,且状态都是 UP(即 :-)),说明计算节点的 Neutron 部署成功!