分享

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

pig2 发表于 2015-2-11 16:21:55 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 8 104035
本帖最后由 pig2 于 2015-2-26 17:30 编辑

问题导读


1.计算节点管理网络为那个网段ip?
2.网络节点如何实现不直接访问数据库?



接上篇
openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

计算节点处理实例的连通性及安全组

安装准备


1.在配置openstack neutron之前,需要配置一定的核心网络参数

修改文件/etc/sysctl.conf,完成下面内容
  1. sudo nano /etc/sysctl.conf
复制代码


  1. net.ipv4.conf.all.rp_filter=0
  2. net.ipv4.conf.default.rp_filter=0
复制代码


2.生效修改内容
  1. sysctl -p
复制代码


安装网络组件

  1. apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent
复制代码


配置网络通用组件

网络组件的配置包括:认证机制、消息代理、和插件

修改文件 /etc/neutron/neutron.conf,完成下面内容:

  1. sudo nano  /etc/neutron/neutron.conf
复制代码


a.在 [database] 部分,注释掉connection选项,因为网络组件不直接访问数据库

1.png

b.在 [DEFAULT] 部分,配置RabbitMQ 消息代理访问
  1. [DEFAULT]
  2. ...
  3. rpc_backend = rabbit
  4. rabbit_host = controller
  5. rabbit_password = RABBIT_PASS
复制代码
这里的密码采用的是默认

c.在 [DEFAULT] 和 [keystone_authtoken] 部分,配置身份服务访问
  1. [DEFAULT]
  2. ...
  3. auth_strategy = keystone
  4. [keystone_authtoken]
  5. ...
  6. auth_uri = http://controller:5000/v2.0
  7. identity_uri = http://controller:35357
  8. admin_tenant_name = service
  9. admin_user = neutron
  10. admin_password = NEUTRON_PASS
复制代码
NEUTRON_PASS 这里使用的是默认密码
2.png
记得注释掉auth_host, auth_port, and auth_protocol选项,以免配置被覆盖

d.在 [DEFAULT] 部分,启用Layer 2 (ML2) 插件,路由服务,overlapping IP addresses

  1. [DEFAULT]
  2. ...
  3. core_plugin = ml2
  4. service_plugins = router
  5. allow_overlapping_ips = True
复制代码


e.(可选)协助排除故障,开启verbose 记录在[DEFAULT]部分:
  1. [DEFAULT]
  2. ...
  3. verbose = True
复制代码


配置Modular Layer 2 (ML2) 插件


ML2插件使用Open vSwitch (OVS) 机制创建实例的虚拟网络
编辑文件 /etc/neutron/plugins/ml2/ml2_conf.ini ,完成下面内容:

  1. sudo nano  /etc/neutron/plugins/ml2/ml2_conf.ini
复制代码


a. 在[ml2]部分,启用 flat 和 generic routing encapsulation (GRE)网络类型驱动,GRE 租户网络和OVS机制驱动。
  1. [ml2]
  2. ...
  3. type_drivers = flat,gre
  4. tenant_network_types = gre
  5. mechanism_drivers = openvswitch
复制代码


b.在 [ml2_type_gre] 部分,配置tunnel id范围

  1. [ml2_type_gre]
  2. ...
  3. tunnel_id_ranges = 1:1000
复制代码


c. 在[securitygroup] 部分,启用安全组,启用 ipset,配置OVS iptables,防火墙驱动
  1. [securitygroup]
  2. ...
  3. enable_security_group = True
  4. enable_ipset = True
  5. firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
复制代码


d.在 [ovs] 部分,启用tunnels  ,配置本地tunnel endpoint:
  1. [ovs]
  2. ...
  3. local_ip = INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS
  4. enable_tunneling = True
复制代码
替换INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS,为计算节点实例隧道ip.这里管理网络为10.0.1.31,替换如下

  1. [ovs]
  2. ...
  3. local_ip =  10.0.1.31
  4. enable_tunneling = True
复制代码
没有找到,直接添加

e.在 [agent] 部分,启用 GRE 隧道
  1. [agent]
  2. ...
  3. tunnel_types = gre
复制代码



配置  Open vSwitch (OVS) 服务

ovs服务为实例提供underlying 虚拟网络服务框架。
重启 OVS 服务
  1. service openvswitch-switch restart
复制代码


配置计算节点使用网络

默认情况下,分布式包配置使用传统网络,你必须重新配置计算节点管理网络
原文
  1. By default, distribution packages configure Compute to use legacy networking. You must reconfigure Compute to manage networks through Networking.
复制代码
修改文件 /etc/nova/nova.conf,完成下面内容

  1. sudo  nano  /etc/nova/nova.conf
复制代码


a.在 [DEFAULT]部分,配置  APIs 和驱动 :

  1. [DEFAULT]
  2. ...
  3. network_api_class = nova.network.neutronv2.api.API
  4. security_group_api = neutron
  5. linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
  6. firewall_driver = nova.virt.firewall.NoopFirewallDriver
复制代码

说明:
默认,计算使用内部防火墙服务,自从neutron包括防火墙服务,你必须使用
nova.virt.firewall.NoopFirewallDriver防火墙驱动,禁用计算防火墙服务

b. 在[neutron] 部分,配置访问参数
  1. [neutron]
  2. ...
  3. url = http://controller:9696
  4. auth_strategy = keystone
  5. admin_auth_url = http://controller:35357/v2.0
  6. admin_tenant_name = service
  7. admin_username = neutron
  8. admin_password = NEUTRON_PASS
复制代码
在身份认证neutron 用户,替换NEUTRON_PASS密码,这里使用默认密码。


完成安装

1.重启计算服务
  1. service nova-compute restart
复制代码

2.重启Open vSwitch (OVS) 代理:
  1. service neutron-plugin-openvswitch-agent restart
复制代码


验证安装

注意:这里是在控制节点安装

1.生效环境变量
  1. source admin-openrc.sh
复制代码

2.列出创建的neutron 代理

  1. neutron agent-list
复制代码
3.png




相关内容:

openstack【juno】入门 【准备篇】零:整体介绍

openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【juno】入门 【准备篇】二::NTP安装

openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装

openstack【juno】入门 【准备篇】四::RabbitMQ 安装

openstack【juno】入门 【keystone篇】五::Keystone部署及介绍

openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法

openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint

openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)

openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

openstack【juno】入门 【glance 篇】十:glance初步介绍

openstack【juno】入门 【glance 篇】十一:glance安装配置

openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作

openstack【juno】入门 【nova 篇】十三(1):nova简单介绍

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

openstack【juno】入门 【网络篇】十四:neutron介绍

openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)

openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

openstack【juno】入门 【网络篇】十八:创建实例化网络

openstack【juno】入门 【dashboard篇】十九:添加dashboard

openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】

openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

openstack【juno】入门 【swift篇】二十四:创建初始rings

openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)

openstack【juno】入门 【实例篇】二十六:创建实例(neutron)

openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录

openstack【juno】入门 【总结篇】二十八:keystone及网络总结


已有(8)人评论

跳转到指定楼层
stark_summer 发表于 2015-2-12 15:53:31
回复

使用道具 举报

jiangttyy 发表于 2015-9-10 19:39:17
controller和compute1网络是通的,但完全照着搭后查不出compute1上的open vswitch egent 是怎么回事?新手,求指教
回复

使用道具 举报

Alkaloid0515 发表于 2015-9-10 19:41:58
jiangttyy 发表于 2015-9-10 19:39
controller和compute1网络是通的,但完全照着搭后查不出compute1上的open vswitch egent 是怎么回事?新手 ...

配置入手

about云有这方面的视频
about云零基础开发、部署+理论openstack入门视频【J版及 K版】

回复

使用道具 举报

xiaoyu 发表于 2015-11-4 21:12:53
最后一步,在控制节点下输入
root@controller:/# neutron agent-list
Unable to establish connection to http://controller:9696/v2.0/agents.json
出错了,请问是哪里的问题呢?
回复

使用道具 举报

chistpest 发表于 2015-11-23 12:49:10
谢谢搂住,学习了
回复

使用道具 举报

apls 发表于 2015-12-8 08:56:56
b.在 [DEFAULT] 部分,配置RabbitMQ 消息代理访问

    [DEFAULT]
    ...
    rpc_backend = rabbit
    rabbit_host = controller
    rabbit_password = RABBIT_PASS

其中rpc_backend = rabbit需要注释掉才能在controller neutron agent-list中显示出compute节点
回复

使用道具 举报

WWW天WWW 发表于 2016-1-7 09:21:26
xiaoyu 发表于 2015-11-4 21:12
最后一步,在控制节点下输入
root@controller:/# neutron agent-list
Unable to establish connection to ...

你好,我跟你遇到了同样的问题,在最后一步验证neutron ext-list时报错,Unable to establish connection to http://controller:9696/v2.0/agents.json,请问你解决了吗。我看了下我的neutron服务启动好后就立刻停了,配置我看了下应该没问题。
回复

使用道具 举报

WWW天WWW 发表于 2016-1-7 09:53:10
xiaoyu 发表于 2015-11-4 21:12
最后一步,在控制节点下输入
root@controller:/# neutron agent-list
Unable to establish connection to ...

你好,我刚刚解决了这个问题。我的问题是在于 /etc/neutron/plugins/ml2/ml2_conf.ini配置时在[ml2]里的type_drivers这个参数原来是type_drivers = flat,gre,这是参考的之前下载的官方文档,后来改成type_drivers = flat,gre,local,vlan,vxlan,就有用了。

回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条