问题导读
1.neutron是否连接数据库?
2.DHCP的作用是什么?
3.通过下面配置,总结OVS的作用?
4.如何验证网络安装成功?
配置准备
1.编辑文件 /etc/sysctl.conf 添加下面内容
[mw_shl_code=bash,true]net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0[/mw_shl_code]
2.生效
[mw_shl_code=bash,true]sysctl -p[/mw_shl_code]
安全网络组件
[mw_shl_code=bash,true]apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent \
neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent -y[/mw_shl_code]
配置网络通用组件
网络通用组件包括认证机制、消息队列和插件
编辑文件/etc/neutron/neutron.conf,完成下面内容
a.在 [database] 部分,注释掉connection选项,因为网络不直接访问数据库
b.在 [DEFAULT] 和 [oslo_messaging_rabbit]部分,配置消息队列访问
[mw_shl_code=bash,true][DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS[/mw_shl_code]
RABBIT_PASS 记得替换为自己的密码
c.在 [DEFAULT] 和 [keystone_authtoken]部分,配置认证访问
[mw_shl_code=bash,true][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[/mw_shl_code]
NEUTRON_PASS 替换为自己的密码
记得注释掉[keystone_authtoken] 部分的其它选项
d.在 [DEFAULT] 部分,启用 Modular Layer 2 (ML2) plug-in, router service, 和 overlapping IP addresses:
[mw_shl_code=bash,true][DEFAULT]
...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True[/mw_shl_code]
e.启用日志信息详细记录
[mw_shl_code=bash,true][DEFAULT]
...
verbose = True[/mw_shl_code]
配置Modular Layer 2 (ML2) 插件
ML2插件使用Open vSwitch (OVS) 机制构建实例的虚拟网络框架
编辑文件 /etc/neutron/plugins/ml2/ml2_conf.ini,完成下面内容
a.在 [ml2]部分,启用 flat, VLAN, generic routing encapsulation (GRE), 和 virtual extensible LAN (VXLAN) 网络类型驱动,GRE 租户网络, 和 OVS 机制驱动。
[mw_shl_code=bash,true][ml2]
...
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = gre
mechanism_drivers = openvswitch[/mw_shl_code]
b.在[ml2_type_flat] 部分, 配置external flat 提供的网络:
[mw_shl_code=bash,true][ml2_type_flat]
...
flat_networks = external[/mw_shl_code]
c.在 [ml2_type_gre]部分, 配置tunnel 标识 (id) 范围:
[mw_shl_code=bash,true][ml2_type_gre]
...
tunnel_id_ranges = 1:1000[/mw_shl_code]
d.在 [securitygroup] 部分,启用安全组, ipset, 和配置 OVS iptables firewall driver:
[mw_shl_code=bash,true][securitygroup]
...
enable_security_group = True
enable_ipset = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver[/mw_shl_code]
e.在 [ovs] 部分,启用tunnels,配置本地tunnel endpoint, 和映射外部flat私有网络到br-ex外部网桥
[mw_shl_code=bash,true][ovs]
...
local_ip = INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS
bridge_mappings = external:br-ex[/mw_shl_code]
替换INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS 为网络节点隧道网络ip地址ip地址为:10.0.1.21
f.在 [agent] 部分, 启用 GRE 隧道:
[mw_shl_code=bash,true][agent]
...
tunnel_types = gre[/mw_shl_code]
配置 Layer-3 (L3) 代理
Layer-3 (L3) 提供路由服务为虚拟网络
编辑文件/etc/neutron/l3_agent.ini完成下面内容
a.在[DEFAULT]部分,配置网卡驱动,外部网桥,和启用是删除路由命名空间失效
[mw_shl_code=bash,true][DEFAULT]
...
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
external_network_bridge =
router_delete_namespaces = True[/mw_shl_code]
注意:external_network_bridge 是没有值的
b.在[DEFAULT]部分,启用日志详细信息记录
[mw_shl_code=bash,true][DEFAULT]
...
verbose = True[/mw_shl_code]
配置DHCP 代理
DHCP 代理为虚拟网络提供 DHCP 服务
1.编辑文件/etc/neutron/dhcp_agent.ini完成下面内容
a.在 [DEFAULT]部分,配置接口和dhcp驱动,启用失效删除DHCP 命令空间
[mw_shl_code=bash,true][DEFAULT]
...
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
dhcp_delete_namespaces = True[/mw_shl_code]
b.启用日志相信信息记录
[mw_shl_code=bash,true][DEFAULT]
...
verbose = True[/mw_shl_code]
配置metadata代理
1.编辑文件/etc/neutron/metadata_agent.ini完成下面内容
a.在 [DEFAULT]部分,配置访问参数
[mw_shl_code=bash,true][DEFAULT]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_region = RegionOne
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS[/mw_shl_code]
NEUTRON_PASS 记得替换为自己密码
b.在 [DEFAULT] 部分,配置metadata 客户端
[mw_shl_code=bash,true][DEFAULT]
...
nova_metadata_ip = controller[/mw_shl_code]
c.在 [DEFAULT]部分,配置 元数据代理共享密码
[mw_shl_code=bash,true][DEFAULT]
...
metadata_proxy_shared_secret = METADATA_SECRET[/mw_shl_code]
d.在 [DEFAULT] 部分,配置日志详细信息记录
[mw_shl_code=bash,true][DEFAULT]
...
verbose = True[/mw_shl_code]
2.在控制节点,编辑文件 /etc/nova/nova.conf ,添加下面内容
[mw_shl_code=bash,true][neutron]
...
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET[/mw_shl_code]
METADATA_SECRET 是上面设定的
3.在控制节点,重启Compute API 服务
[mw_shl_code=bash,true] service nova-api restart[/mw_shl_code]
配置 Open vSwitch (OVS)服务[网络节点]
1.重启OVS 服务:
[mw_shl_code=bash,true]service openvswitch-switch restart[/mw_shl_code]
2.添加外部网桥
[mw_shl_code=bash,true]ovs-vsctl add-br br-ex[/mw_shl_code]
3.添加混杂模式网卡到br-ex
[mw_shl_code=bash,true]ovs-vsctl add-port br-ex INTERFACE_NAME[/mw_shl_code]
INTERFACE_NAME记得替换为真是网卡,这里是网络节点第三块网卡,ip网段为为203.0.113.0/24
注意,根据不同的网卡驱动,你可以需要禁用 generic receive offload (GRO),暂时禁用GRO在外部网卡
[mw_shl_code=bash,true] ethtool -K INTERFACE_NAME gro off[/mw_shl_code]
完成安装
重启网络服务
[mw_shl_code=bash,true] service neutron-plugin-openvswitch-agent restart
service neutron-l3-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart[/mw_shl_code]
验证安装【控制节点】
生成环境变量
[mw_shl_code=bash,true]source admin-openrc.sh[/mw_shl_code]
列出创建成功的neutron 代理
[mw_shl_code=bash,true]neutron agent-list[/mw_shl_code]
[mw_shl_code=bash,true]+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
| id | agent_type | host | alive | admin_state_up | binary |
+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
| 30275801-e17a-41e4-8f53-9db63544f689 | Metadata agent | network | :-) | True | neutron-metadata-agent |
| 4bd8c50e-7bad-4f3b-955d-67658a491a15 | Open vSwitch agent | network | :-) | True | neutron-openvswitch-agent |
| 756e5bba-b70f-4715-b80e-e37f59803d20 | L3 agent | network | :-) | True | neutron-l3-agent |
| 9c45473c-6d6d-4f94-8df1-ebd0b6838d5f | DHCP agent | network | :-) | True | neutron-dhcp-agent |
+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+[/mw_shl_code]
相关内容
openstack【Kilo】入门 【准备篇】零:整体介绍
openstack【Kilo】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)
openstack【Kilo】入门 【准备篇】二:NTP安装
openstack【Kilo】入门 【准备篇】三:mysql(MariaDB)安装【控制节点】
openstack【Kilo】入门 【准备篇】四:RabbitMQ 安装
openstack【Kilo】入门 【keystone篇】五:keystone安装与配置
openstack【Kilo】入门 【keystone篇】六:创建服务实例和 API endpoint
openstack【Kilo】入门 【keystone篇】七:创建租户、用户、角色
openstack【Kilo】入门 【keystone篇】八:验证keystone安装部署
openstack【Kilo】入门 【keystone篇】九: 创建openstack客户端环境变量脚本
openstack【Kilo】入门 【glance篇】十:glance安装配置【控制节点】
openstack【Kilo】入门 【glance篇】十一:glance安装验证
openstack【Kilo】入门 【nova篇】十二:安装配置nova
openstack【Kilo】入门 【网络篇】十三:安装配置【控制节点】
openstack【Kilo】入门 【网络篇】十四:安装配置【网络节点】
openstack【Kilo】入门 【网络篇】十五:安装配置【计算节点】
openstack【Kilo】入门 【网络篇】十六:实例化网络
openstack【Kilo】入门 【网络篇】十七:创建实例
|