CC00018.CloudOpenStack——|OpenStack&组件.V05|——|OpenStack-network|

本文详细介绍了如何安装和配置OpenStack的网络节点,包括设置先决条件、安装网络组件、配置ML2插件、L3 agent、DHCP agent、metadata agent以及Open VSwitch服务,最后进行了验证操作。
摘要由CSDN通过智能技术生成
一、安装并配置network节点
### --- 安装并配置network节点

~~~     配置先决条件
~~~     安装网络组件
~~~     配置网络通用组件
~~~     配置Modular Layer 2(ML2)plug-in
~~~     配置Layer-3(L3)agent
~~~     配置DHCP agent
~~~     配置metadata agent
~~~     配置Open vSwitch(OVS)服务
~~~     完成安装
~~~     验证
一、配置先决条件:在openstack-neutron节点配置
### --- 编辑/etc/sysctl.conf文件,包含下列参数
~~~     开启IP_forward路由转发

[root@network ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
### --- 是更改生效
~~~     刷新权限

[root@network ~]# sysctl -p                
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
二、安装网络组件
[root@network ~]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch
 Installed:
  openstack-neutron.noarch 0:2014.2-5.el7.centos         openstack-neutron-ml2.noarch 0:2014.2-5.el7.centos         openstack-neutron-openvswitch.noarch 0:2014.2-5.el7.centos                    
Complete!
三、配置网络通用组件
### --- 网络通用组建配置包含认证机制,消息队列及插件。
~~~     编辑/etc/neutron/neutron.conf文件并完成下列操作

[root@network ~]# vim /etc/neutron/neutron.conf 
# 编辑[database]小节,注释任何connection选项,因为network节点不能直接连接数据库。
# 编辑[DEFAULT]小节,配置RabbitMQ消息队列访问
[DEFAULT]
......
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest
# 编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:
[DEFAULT]
......
auth_strategy=keystone
[keystone_authtoken]
......
aut_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=neutron
admin_password=NEUTRON_PASS
# 编辑[DEFAULT]小节,启用Moudlar Layer(ML2)插件,路由服务和重叠IP地址功能;
[DEFAULT]
......
core_plugin=ml2
service_plugins=router
allow_overlapping_ips=True
# (可选)在[DEFAULT]小节中配置详细日志输出。方便排错。
[DEFAULT]
......
verbose=True
四、配置Modular Layer2(ML2)plug-in
### --- ML2插件使用Open VSwitch(OVS)机制为虚拟机实例提供网络框架,
### --- 编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成下列操作。

[root@network ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini 
# 编辑[ml2]小节,启用flat和generic routing encapsulation(GRE)网络类型驱动,配置GRE租户网络和OVS驱动机制
[ML2]
......
type_drivers=flat,gre                                   # 网络类型为flat和gre
tenant_network_types=gre                                # 租户的网络类型为gre
mechanism_drivers=openvswitch
# 编辑[ml2_type_flat]小节,配置外部网络:
[ml2_type_flat]                                         # 浮动网络,也就是外部网络,告诉他外部网络的位置
......
flat_networks=external                                  # 网桥是什么,会做一个相关的映射
# 编辑[ml2_type_gre]小节,配置隧道表示范围:
[ml2_type_gre]
......
tunnel_id_ranges=1:1000                                 # 使用的最大的范围
# 编辑[securitygroup]小节,启用安全组,启用ipset并配置OVS防火墙驱动:
[securitygroup]
......
enable_security_group=True                              # 开启安全组
enable_ipset=True                                       # 允许相关设置
firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
# 编辑[OVS]小节,配置Open vSwitch(OVS)代理               # 在默认配置文件中是没有的
[OVS]
......
[OVS]
local_ip=172.16.0.6
tunnel_type=gre
enable_tunneling=True
bridge_mappings=external:br-ex                          // 网桥,最终到了br-ex上。
五、配置Layer-3(L3)agent:路由相关的配置
### --- 编辑/etc/neutron/l3_agent.ini文件并完成下列配置:

[root@network ~]# vim /etc/neutron/l3_agent.ini
# 编辑[DEFAULT]小节,配置驱动,启用网络命名空间,配置外部网络桥接
[DEFAULT]
......
interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver  # 网卡驱动进行修改
use_namespaces=True                                                # 开启namespaces
external_network_bridge=br-ex                                      # 指定我们的外部网络或者浮动网络的网桥名称是什么
#(可选)在[DEFAULT]小节中配置详细日志输出,方便排错。
[DEFAULT]
......
debug=True
# verbose=True——debug=True                                         # 开启日志,这里为debug,只是改了名称而已,
六、配置DHCP agent
### --- 编辑/etc/neutron/dhcp_agent.ini文件并完成下列步骤:

[root@network ~]# vim /etc/neutron/dhcp_agent.ini 
# 编辑[DEFAULT]小节,配置驱动和启用命名空间
[DEFAULT]
......
interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver    # 配置网卡,OVS类型驱动
dhcp_driver=neutron.agent.linux.dhcp.Dnsmasq                         # DHCP的驱动
use_namespaces=True                                                  # 运行用户的命名空间
# (可选)在[DEFAULT]小节中配置详细日志输出,方便排错。
[DEFAULT]
......
debug=True
# debug=True——verbose=True
# (可选,在VMware虚拟机中可能是必要的!)配置DHCP选项,将MUT改为1454bytes,以改善网络性能;
# 编辑/etc/neutron/dhcp_agent.ini文件并完成下列步骤;
# 编辑[DEFAULT]小节,启用dnsmasq配置:
[DEFAULT]
......
dnsmasq_config_file=/etc/neutron/dnsmasq-neutron.conf               # 添加它的访问路径
# 创建并编辑/etc/neutron/dnsmasq-neutron.conf文件并完成下列配置:
[root@network ~]# vim /etc/neutron/dnsmasq-neutron.conf             # 创建这个文件,这个文件默认是没有的
# 启用DHCP MTU选项(26)并配置值为1454bytes
dhcp-option-force=26,1454                                            # 填写连接包的最大值
user=neutron                                                         # 用户
group=neutron                                                        # 组
### --- 终止任何已经存在的dnsmasq进行;禁止它的相关实例

[root@network ~]# pkill dnsmasq
七、配置metadata agent
### --- 编辑/etc/neutron/metadata_agent.ini文件并完成下列配置

[root@network ~]# vim /etc/neutron/metadata_agent.ini
# 编辑[DEFAULT]小节,配置访问参数:
[DEFAULT]
......
auth_url=http://controller.nice.com:5000/v2.0                       # 访问端点
auth_region=regionOne                                               # 可用区
admin_tenant_name=service                                           # 用户名称是service
admin_user=neutron                                                  # 用户名是
admin_password=NEUTRON_PASS                                         # 密码
# 编辑[DEFAULT]小节,配置元数据主机:
[DEFAULT]
......
nova_metadata_ip=controller.nice.com                                # nova的传输节点地址
# 编辑[DEFAULT]小节,配置元数据代理共享机密暗号:
[DEFAULT]                                                           # 对策加密的方案,数据传输都是经过加密之后进行传输的,防止数据被窃取
......
metadata_proxy_shared_secret=METADATA_SECRET                        # 随便起一个,对策加密的方案,默认是METADATA_SECRET
# (可选)在[DEFAULT]小节中配置详细日志输出,方便排错.
[DEFAULT]
......
debug=True
# debug=True——verbose=True
### --- 在controller节点,编辑/etc/nova/nova.conf文件并完成下列配置
~~~     编辑[neutron]小节,启用元数据代理并配置机密暗号:

[root@controller ~]# vim /etc/nova/nova.conf 
[neutron]
......
service_metadata_proxy=True                                           # 默认是false,改为True开启
metadata_proxy_shared_secret=METADATA_SECRET                          # 先写它的代理暗号
### --- 在controller节点,重新启动compute.API服务

[root@controller ~]# systemctl restart openstack-nova-api.service      // 因为改了配置文件,所以需要重启api程序
八、配置Open VSwitch(OVS)服务
### --- 在neutron节点配置
~~~     启动OVS服务并配置开机自动启动

[root@network ~]# systemctl enable openvswitch.service 
[root@network ~]# systemctl start openvswitch.service
### --- 添加外部网桥(external bridge)

[root@network ~]# ovs-vsctl add-br br-ex
### --- 添加一个端口到外部网桥,用于连接外部物理网络
~~~     将INTERFACE_NAME换成实际连接外部网卡接口名,如:eth2或eno50332208

[root@network ~]# ifconfig
 eno50332184                                                    // 外部网卡名称,用ifconfig查看获取
[root@network ~]# ovs-vsctl add-port br-ex eno50332184          // 将外部网卡和该网卡绑定;外部网桥就相当于该网卡了,网卡转换通过命令的方式或者通过修改配置文件的方式都可以操作。
九、完成安装
### --- 创建网络服务初始化脚本符号连接

[root@network ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@network ~]# ll /etc/neutron/plugin.ini 
lrwxrwxrwx 1 root root 37 Jan 11 18:12 /etc/neutron/plugin.ini -> /etc/neutron/plugins/ml2/ml2_conf.ini
[root@network ~]# cp /usr/lib/systemd/system/neutron-openvswitch-agent.service /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig
[root@network ~]# ll /usr/lib/systemd/system/neutron-openvswitch-agent.service
-rw-r--r-- 1 root root 437 Oct 30  2014 /usr/lib/systemd/system/neutron-openvswitch-agent.service
### --- 修改网络方式,把默认的网络类型修改为多租组网的形式

[root@network ~]# sed -i 's,plugins/openvswitch.ovs_neutron_plugin.ini,plugin.ini,g' /usr/lib/systemd/system/neutron-openvswitch-agent.service
### --- 启动网络服务并能设置开机自动启动

[root@network ~]# systemctl enable neutron-openvswitch-agent.service neutron-l3-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-ovs-cleanup.service
ln -s '/usr/lib/systemd/system/neutron-openvswitch-agent.service' '/etc/systemd/system/multi-user.target.wants/neutron-openvswitch-agent.service'
ln -s '/usr/lib/systemd/system/neutron-l3-agent.service' '/etc/systemd/system/multi-user.target.wants/neutron-l3-agent.service'
ln -s '/usr/lib/systemd/system/neutron-dhcp-agent.service' '/etc/systemd/system/multi-user.target.wants/neutron-dhcp-agent.service'
ln -s '/usr/lib/systemd/system/neutron-metadata-agent.service' '/etc/systemd/system/multi-user.target.wants/neutron-metadata-agent.service'
ln -s '/usr/lib/systemd/system/neutron-ovs-cleanup.service' '/etc/systemd/system/multi-user.target.wants/neutron-ovs-cleanup.service'
[root@network ~]# systemctl start neutron-openvswitch-agent.service neutron-l3-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service neutron-ovs-cleanup.service
十、验证(在controller)节点执行下列命令:
### --- 执行admin环境变量脚本

[root@controller ~]# source admin-openrc.sh
~~~     列出neutron代理,确认启动neutron agents成功:4个效力,表示四个代理模式已经启动成功了,
+--------------------------------------+--------------------+------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host             | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+------------------+-------+----------------+---------------------------+
| 25122ee3-54d0-4013-9e32-c752bb444874 | Metadata agent     | network.nice.com | :-)   | True           | neutron-metadata-agent    |
| 29e66a01-d01a-4bdb-8231-9adcf062b29b | Open vSwitch agent | network.nice.com | :-)   | True           | neutron-openvswitch-agent |
| 36e27e39-8e6b-4673-914b-ca3dd6ebf5ec | L3 agent           | network.nice.com | :-)   | True           | neutron-l3-agent          |
| 82964596-8d90-4001-b52a-6aa1e183c92a | DHCP agent         | network.nice.com | :-)   | True           | neutron-dhcp-agent        |
+--------------------------------------+--------------------+------------------+-------+----------------+---------------------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yanqi_vip

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

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

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

打赏作者

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

抵扣说明:

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

余额充值