openstack安装部署6——网络服务(控制节点&计算节点)
来源:互联网 发布:前端软件外包交易平台 编辑:程序博客网 时间:2024/06/09 21:58
1.概述
网络配置有两种方式:provider网络或者self-service网络,具体情况参考官方文档
provider网络参考和self-service网络参考。更多关于网络服务(包括虚拟网络组件、分层、流量)等信息,请参考Mitaka网络指南。
Neutron包含如下组件:
- neutron-server
接收并路由API请求到合适的openstack网络插件。 - OpenStack Networking plug-ins and agents
创建网络或子网,提供IP地址。这些插件和代理依靠特定云中使用的供应商和技术,插件可以使用Cisco虚拟和物理交换机,NEC openFlow products,open vSwitch,linux briding 和VMwareNSX。常规的代理有Layer3,DHCP等。 - Messaging queue
大多数openstack网络使用它连接neutron-server和各种不同代理间信息交互。此外,也作为一个存储网络状态的数据库。
Openstack网络主要为openstack compute实例提供网络和连通性。
2.控制节点上部署(10.10.80.180)
2.1安装前提
2.1.1 创建数据库
1.以root用户登录数据库
mysql -u root -p
2.创建“neutron”数据库
MariaDB > CREATE DATABASE neutron;
3.赋予“neutron”权限
用123456替代NEUTRON_DBPASS,在openstack安装部署1中规划openstack部署——前言&规划
>GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \>IDENTIFIED BY 'NEUTRON_DBPASS';>GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ >IDENTIFIED BY 'NEUTRON_DBPASS';
- 4.退出数据库
> exit
2.1.2 source环境配置
. admin-openrc
2.1.3 创建服务凭据
1.创建“neutron”用户,密码为123456,规划见openstack部署——前言&规划
openstack user create --domain default --password-prompt neutron
2.将“admin”role赋予“neturon”user
openstack role add --project service --user neutron admin
3.创建“neturon”服务实例
openstack service create --name neutron --description "OpenStack Networking" network
2.1.4创建网络服务API endpoint
public
openstack endpoint create --region RegionOne network public http://controller:9696
internal
openstack endpoint create --region RegionOne network internal http://controller:9696
admin
openstack endpoint create --region RegionOne network admin http://controller:9696
2.2安装&配置
本次实验选择安装provide网络架构。
2.2.1安装组件
apt-get install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent
2.2.2配置服务组件
网络组件的配置包括:数据库、认证机制、消息队列、拓扑变化通知、插件。
编辑/etc/neutron/neutron.conf文件
- 1.在[database]部分配置数据库接口
用创建数据库时的实际密码123456替代NEUTRON_DBPASS
[database]connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
- 2.在[DEFAULT]部分配置modular Layer2(ML2)插件,并禁用其他插件
[DEFAULT] ···core_plugin = ml2service_plugins =
- 3.在[DEFAULT]部分和[oslo_messaging_rabbit]部分
配置RabbitMQ,用123456替换RABBIT_PASS
[DEFAULT]···rpc_backend = rabbit[oslo_messaging_rabbit]rabbit_host = controllerrabbit_userid = openstackrabbit_password = RABBIT_PASS
- 4.在[DEFAULT]部分和[keystone_authtoken]部分配置认证服务接口
NEUTRON_PASS用“neutron”user的密码123456替换。
[DEFAULT]...auth_strategy = keystone[keystone_authtoken]auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = NEUTRON_PASS
- 5.在[DEFAULT]部分和[nova]部分配置网络来公告拓扑改变
NOVA_PASS用nova用户密码123456替换
[DEFAULT]...notify_nova_on_port_status_changes = Truenotify_nova_on_port_data_changes = True[nova]auth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = novapassword = NOVA_PASS
2.2.3 配置Modular Layer 2(ML2)插件
ML2 插件通过Linux网桥机制为实例创建二层(bridging and switching) 虚拟网络设施。编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件:
- 1.在[ml2]部分,激活flat和VLAN网络
[ml2]...type_drivers = flat,vlan
- 2.在[ml2]部分,禁用self-service 网络
[ml2]...tenant_network_types =
- 3.在[ml2]部分,激活linux bridge机制
[ml2]...mechanism_drivers = linuxbridge
【备注:在配置ML2插件后,移除type_drivers选项中的值会导致数据库的不一致性,注释掉该行代码
】
- 4.在[ml2]部分,激活端口安全的扩展驱动
[ml2]...extension_drivers = port_security
- 5.在[ml2_type_flat]部分,配置provider 虚拟网络作为一个flat网络
[ml2_type_flat]...flat_networks = provider
- 6.在[securitygroup] 部分,激活ipset 来提高安全组规则的效率
[securitygroup]...enable_ipset = true
2.2.4配置linux 网桥代理
Linux网桥代理为实例创建二层(网桥和交换)虚拟网络设施,并管理安全组。修改配置文件/etc/neutron/plugins/ml2/linuxbridge_agent.ini。
1.在[linux_bridge]部分
将provider 虚拟网络和provider物理网络接口映射,将PROVIDER_INTERFACE_NAME替换为底层物理网络接口名称,具体请参考官方文档physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
2.在[vxlan]部分,禁用VXLAN
[vxlan]enable_vxlan = False
- 3.在[securitygroup]部分
激活安全组并配置linux网桥防火墙
[securitygroup]...enable_security_group = Truefirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
2.2.5 配置DHCP代理
编辑 /etc/neutron/dhcp_agent.ini 文件:
在[DEFAULT]部分,配置如下内容:
[DEFAULT]...interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriverdhcp_driver = neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata = True
2.3配置元数据代理
供了实例的各种配置信息,例如实例的认证信息。
编辑文件/etc/neutron/metadata_agent.ini,在在[DEFAULT] 部分配置metadata host 和shared secret,用合适的密码123456替代METADATA_SECRET
[DEFAULT]...nova_metadata_ip = controllermetadata_proxy_shared_secret = METADATA_SECRET
2.4配置compute,使用networking
编辑/etc/nova/nova.conf,在 [neutron] 部分配置参数接口,激活元数据proxy和配置secret,用密码123456替代NEUTRON_PASS,用123456替代METADATA_SECRET。
[neutron]url = http://controller:9696auth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = neutronpassword = NEUTRON_PASSservice_metadata_proxy = Truemetadata_proxy_shared_secret = METADATA_SECRET
2.5完成安装
2.5.1 Populate the database:
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
2.5.2重启计算API服务
service nova-api restart
2.5.3 重启网络服务
service neutron-server restartservice neutron-linuxbridge-agent restartservice neutron-dhcp-agent restartservice neutron-metadata-agent restart
3.计算节点部署(10.10.80.181)
3.1安装组件
apt-get install neutron-linuxbridge-agent
3.2配置通用组件
编辑配置文件/etc/neutron/neutron.conf
1.在[database]部分
注释掉所有“connection”选项,因为计算节点不直接访问数据库。2.在[DEFAULT]和 [oslo_messaging_rabbit]部分
配置RabbitMQ 消息队列接口,RABBIT_PASS用rabbit用户的密码123456替代
[DEFAULT]...rpc_backend = rabbit[oslo_messaging_rabbit]...rabbit_host = controllerrabbit_userid = openstackrabbit_password = RABBIT_PASS
3.在[DEFAULT] 和[keystone_authtoken]的部分配置身份认证
NEUTRON_PASS用123456替代。需要移除keystone_authtoken中除了下列参数以外的选项。
[DEFAULT]...auth_strategy = keystone[keystone_authtoken]...auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = NEUTRON_PASS
3.3配置网络选项
配置/etc/neutron/plugins/ml2/linuxbridge_agent.ini
- 1.在[linux_bridge]配置物理网络接口
PROVIDER_INTERFACE_NAME用物理网络接口eth0替代
[linux_bridge]physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
- 2.在[vxlan]部分,禁用vxlan
[vxlan]enable_vxlan = False
- 3.在[securitygroup]部分配置防火墙
[securitygroup]...enable_security_group = Truefirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
3.4配置计算服务来使用网络
编辑文件/etc/nova/nova.conf
- 1.在[neutron]中配置参数
NEUTRON_PASS用neutron密码123456替代。
[neutron]url = http://controller:9696auth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultregion_name = RegionOneproject_name = serviceusername = neutronpassword = NEUTRON_PASS
3.5重启服务
- 1.重启计算服务
service nova-compute restart
- 2.重启网络代理
service neutron-linuxbridge-agent restart
4.验证操作
source环境变量,在/root目录下执行 (该脚本在openstack部署3——keystone安装中第六部分创建openstack安装部署3——keystone安装(仅部署在控制节点) . admin-openrc
4.1 验证neutron-server
neutron ext-list
4.2 验证neturon代理正确性
neutron agent-list
输出节点应该包含在控制节点上有三个代理,在每一个计算节点上有一个代理:
- openstack安装部署6——网络服务(控制节点&计算节点)
- openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)
- openstack安装部署5——计算服务(控制节点&计算节点)
- OpenStack Newton版本部署---- 网络服务(neutron)(控制节点)
- OpenStack Newton版本部署---- 网络服务(neutron)(计算节点)
- openstack安装部署4——Glance镜像安装(仅部署在控制节点)
- [部署篇6]VMWare搭建Openstack——控制节点的Neutron安装
- [部署篇7]VMWare搭建Openstack——网络(计算)节点的Neutron安装
- openstack安装部署3——keystone安装(仅部署在控制节点)
- OpenStack多节点部署(二)——操作系统安装
- [部署篇2]VMWare搭建Openstack——控制节点的KeyStone的安装
- [部署篇3]VMWare搭建Openstack——控制节点的glance的安装
- [部署篇4]VMWare搭建Openstack——控制节点的Nova的安装
- [部署篇12]VMWare搭建Openstack——控制节点的heat的安装
- [部署篇8]VMWare搭建Openstack——计算节点的Neutron安装
- openstack搭建--6--控制节点和计算节点安装配置neutron
- [部署篇5]VMWare搭建Openstack——计算节点的基础部署和Nova的安装
- openstack (havana) 控制节点安装
- ListView的Item布局子控件与Item的setOnItemClickListenter监听事件冲突失效的解决方法
- 采用顺序栈完成进制转换
- 【leetcode题解】412. Fizz Buzz【E】
- HDU 1200 To and Fro
- Android基础Alert相关
- openstack安装部署6——网络服务(控制节点&计算节点)
- 目标特征提取(一):全局特征
- 线性表之顺序表的实现
- 基于数组的实现网页中的页面切换效果
- 关于Caffe之Contrastive + Softmax在CASIA-WebFace上的实验
- 问题记录一
- C++每日一练(异常)
- 采用循环队列或链队列实现病人看病的模拟程序
- 用U盘centos的注意事项