分享

openstack【Kilo】入门 【网络篇】十四:安装配置【网络节点】

pig2 发表于 2015-5-14 17:24:46 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 15 92898

问题导读

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】入门 【网络篇】十七:创建实例







已有(16)人评论

跳转到指定楼层
阿明哥zym 发表于 2015-6-25 17:14:09
感觉应该有一篇《openstack【Kilo】入门 【网络篇】十三:安装配置【控制节点】》
回复

使用道具 举报

阿明哥zym 发表于 2015-6-26 17:53:47
“计算节点”中没有“openvswitch-switch”服务;
在我的安装过程中,这个服务在网络节点中。

原帖中的截图

原帖中的截图

点评

对的,是网络节点  发表于 2015-6-26 19:10
回复

使用道具 举报

cyberbird0212 发表于 2015-7-5 20:31:05
你好!
我配置好网络节点后,在控制节点运行neutron agent-list,没有任何结果输出。到网络节点看agent的log,发现报错:no module named rabbit,但是我rabbitmq确实已经装好了,neutron.conf里面的配置也对了好多次,没错误。

请教这是咋回事?
回复

使用道具 举报

bioger_hit 发表于 2015-7-5 20:33:39
cyberbird0212 发表于 2015-7-5 20:31
你好!
我配置好网络节点后,在控制节点运行neutron agent-list,没有任何结果输出。到网络节点看agent的l ...

如何确认自己安装好了。
不同的host,和组件都有相关配置,确保配置文件中,密码是正确的
回复

使用道具 举报

cyberbird0212 发表于 2015-7-6 13:42:13
bioger_hit 发表于 2015-7-5 20:33
如何确认自己安装好了。
不同的host,和组件都有相关配置,确保配置文件中,密码是正确的

谢谢你的回复。

今天又看了一下,应该是rabbitmq的问题,因为我的compute节点也有问题,在控制节点上运行nova service ist无法看到计算节点的服务。

看/var/log/nova/nova-compute.log有错误,说连接localhost,很奇怪我在nova.conf里面指定了rabbit的地址,为啥还是找localhost呢?

rabbitmq运行在控制节点,我装了plugin可以web等进去,服务肯定是起来了。
nova-compute-log.png
回复

使用道具 举报

fengxiaolt 发表于 2015-8-8 20:16:19
没有找 Open vSwitch
+--------------------------------------+----------------+---------+-------+----------------+------------------------+
| id                                   | agent_type     | host    | alive | admin_state_up | binary                 |
+--------------------------------------+----------------+---------+-------+----------------+------------------------+
| 575950c1-bd93-40b2-b6a9-2c27750120b9 | L3 agent       | network | :-)   | True           | neutron-l3-agent       |
| 96f7ff3d-e0fe-4b01-8a93-fd4a1290c260 | Metadata agent | network | :-)   | True           | neutron-metadata-agent |
| 9fd40b51-837f-484c-ab20-55d57811fbab | DHCP agent     | network | :-)   | True           | neutron-dhcp-agent     |
+--------------------------------------+----------------+---------+-------+----------------+------------------------+
回复

使用道具 举报

yuwenge 发表于 2015-8-8 20:17:39
fengxiaolt 发表于 2015-8-8 20:16
没有找 Open vSwitch
+--------------------------------------+----------------+---------+-------+---- ...

像这种都是细心的问题,不是什么难题,对着配置仔细检查下就ok了
回复

使用道具 举报

fengxiaolt 发表于 2015-8-8 21:33:47
yuwenge 发表于 2015-8-8 20:17
像这种都是细心的问题,不是什么难题,对着配置仔细检查下就ok了

谢了 OK

+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
| id                                   | agent_type         | host    | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
| 575950c1-bd93-40b2-b6a9-2c27750120b9 | L3 agent           | network | :-)   | True           | neutron-l3-agent          |
| 96f7ff3d-e0fe-4b01-8a93-fd4a1290c260 | Metadata agent     | network | :-)   | True           | neutron-metadata-agent    |
| 9fd40b51-837f-484c-ab20-55d57811fbab | DHCP agent         | network | :-)   | True           | neutron-dhcp-agent        |
| beb9bca5-959d-4d54-a825-d5c8bd8d9289 | Open vSwitch agent | network | :-)   | True           | neutron-openvswitch-agent

回复

使用道具 举报

jiligulu2222 发表于 2015-8-31 18:59:50
cyberbird0212 发表于 2015-7-6 13:42
谢谢你的回复。

今天又看了一下,应该是rabbitmq的问题,因为我的compute节点也有问题,在控制节点上 ...

你好,我也遇到了同样的问题,请问后来解决了吗?

回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条