每天学习openstack(14)
来源:互联网 发布:sql server免费精简 编辑:程序博客网 时间:2024/06/06 20:19
接着上面的步骤继续安装网络服务:
1.网络服务介绍
openstack network service(neutron):是opensatck核心组件之一,提供云计算环境下的虚拟网络功能。
2.网络服务组件介绍
neutron-server:这一部分包含守护进程neutron-server 和各种插件 neutron-*-plugin,它们既可以安装在控制节点也可以安装在网络节点。neutron-server 提供 API 接口,并把对 API 的调用请求传给已经配置好的插件进行后续处理。插件需要访问数据库来维护各种配置数据和对应关系,例如路由器、网络、子网、端口、浮动IP、安全组等等。
openstack网络插件和代理:Plug and unplug ports, create networks or subnets, and provide IP addressing. These plug-ins and agents differ depending on the vendor and technologies used in the particular cloud. OpenStack Networking ships with plug-ins and agents for Cisco virtual and physical switches, NEC OpenFlow products, Open vSwitch, Linux bridging, and the VMware NSX product.
常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。
详解opensatck网络插件和代理:
插件代理(Plugin Agent):虚拟网络上的数据包的处理则是由这些插件代理来完成的。名字为 neutron-*-agent。在每个计算节点和网络节点上运行。一般来说你选择了什么插件,就需要选择相应的代理。代理与 Neutron Server 及其插件的交互就通过消息队列来支持。
提示:插件代理需要部署在每一个运行hypervisor的主机上,它提供本地的vSwitch配置,更多的时候得依赖你具体所使用的插件类型。(常用的插件是OpenvSwitch,还包括Big Switch,Floodinght REST Proxy,Brocade, NSX,
PLUMgrid, Ryu)
DHCP 代理(DHCP Agent):名字为 neutron-dhcp-agent,为各个租户网络提供 DHCP 服务,部署在网络节点上,各个插件也是使用这一个代理。DHCP代理,给租户网络提供动态主机配置服务,主要用途是为租户网络内的虚拟机动态地分配IP地址。
3 层代理(L3 Agent):名字为 neutron-l3-agent, 为客户机访问外部网络提供 3 层转发服务。也部署在网络节点上。提供三层网络功能和网络地址转换(NAT)功能,来让租户的虚拟机可以与外部网络通信。
下面这张图很好的反映了 Neutron 内部各部分服务之间的关系。
neutron服务进程运行图如下:
消息队列:大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息。也为某些特定的插件扮演数据库的角色,以存储网络状态。
点击这里详细了解网络概念
3.安装并配置控制节点:
1.先决条件
创建数据库并授权:
mysql> CREATE DATABASE neutron;
mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'NEUTRON_DBPASS';mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'NEUTRON_DBPASS';2.获得admin账号权限
source openrc
3.创建neutron用户并添加角色到admin
$ openstack user create --domain default --password-prompt neutronUser Password:Repeat User Password:+---------------------+----------------------------------+| Field | Value |+---------------------+----------------------------------+| domain_id | default || enabled | True || id | 319f34694728440eb8ffcb27b6dd8b8a || name | neutron || password_expires_at | None |+---------------------+----------------------------------+
openstack role add --project service --user neutron admin4.创建服务
$ openstack service create --name neutron \ --description "OpenStack Networking" network+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | OpenStack Networking || enabled | True || id | f71529314dab4a4d8eca427e701d209e || name | neutron || type | network |+-------------+----------------------------------+
$ openstack endpoint create --region RegionOne \ network public http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 85d80a6d02fc4b7683f611d7fc1493a3 || interface | public || region | RegionOne || region_id | RegionOne || service_id | f71529314dab4a4d8eca427e701d209e || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+$ openstack endpoint create --region RegionOne \ network internal http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 09753b537ac74422a68d2d791cf3714f || interface | internal || region | RegionOne || region_id | RegionOne || service_id | f71529314dab4a4d8eca427e701d209e || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+$ openstack endpoint create --region RegionOne \ network admin http://controller:9696+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 1ee14289c9374dffb5db92a5c112fc4e || interface | admin || region | RegionOne || region_id | RegionOne || service_id | f71529314dab4a4d8eca427e701d209e || service_name | neutron || service_type | network || url | http://controller:9696 |+--------------+----------------------------------+4.安装软件
# yum install openstack-neutron openstack-neutron-ml2 \ openstack-neutron-linuxbridge ebtables5.配置服务组件
注意:默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...
)表示默认的配置选项你应该保留。
1.编辑文件/etc/neutron/neutron.conf
在
[database]
部分,配置数据库访问:[database]...connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
使用你设置的数据库密码替换
NEUTRON_DBPASS
。在``[DEFAULT]``部分,启用ML2插件并禁用其他插件:
[DEFAULT]...core_plugin = ml2service_plugins =
在``[DEFAULT]``部分,配置``RabbitMQ``消息队列访问权限:
[DEFAULT]...transport_url = rabbit://openstack:RABBIT_PASS@controller
用你在RabbitMQ中为``openstack``选择的密码替换 “RABBIT_PASS”。
在 “[DEFAULT]” 和 “[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
将
NEUTRON_PASS
替换为你在认证服务中为neutron
用户选择的密码。[keystone_authtoken]
中注释或者删除其他选项。在``[DEFAULT]``和``[nova]``部分,配置网络服务来通知计算节点的网络拓扑变化:
[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
使用你在身份认证服务中设置的``nova`` 用户的密码替换``NOVA_PASS``。
在
[oslo_concurrency]
部分,配置锁路径:[oslo_concurrency]...lock_path = /var/lib/neutron/tmp
。在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接:
rpc_backend = rabbit
rabbit_host = 192.168.141.170
rabbit_userid = openstack
rabbit_password = openstack (密码)
2.配置ml2插件
注释:ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施
修改配置文件/etc/neutron/plugins/ml2/ml2_conf.ini:
在``[ml2]``部分,启用flat和VLAN网络:
[ml2]...type_drivers = flat,vlan
在``[ml2]``部分,禁用私有网络:
[ml2]...tenant_network_types =
在``[ml2]``部分,启用Linuxbridge机制:
[ml2]...mechanism_drivers = linuxbridge
在``[ml2]`` 部分,启用端口安全扩展驱动:
[ml2]...extension_drivers = port_security
在``[ml2_type_flat]``部分,配置公共虚拟网络为flat网络:
[ml2_type_flat]...flat_networks = provider
在 ``[securitygroup]``部分,启用 ipset 增加安全组的方便性:
[securitygroup]...enable_ipset = True
注释:Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则
修改配置文件:/etc/neutron/plugins/ml2/linuxbridge_agent.ini
在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来:
[linux_bridge]physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
将``PUBLIC_INTERFACE_NAME`` 替换为底层的物理公共网络接口。请查看:ref:environment-networking for more information。
在``[vxlan]``部分,禁止VXLAN覆盖网络:
[vxlan]enable_vxlan = False
在 ``[securitygroup]``部分,启用安全组并配置 Linux 桥接 iptables 防火墙驱动:
[securitygroup]...enable_security_group = Truefirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
注释:The DHCP agent provides DHCP services for virtual networks.
修改配置文件:/etc/neutron/dhcp_agent.ini
在``[DEFAULT]``部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
[DEFAULT]...interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriverdhcp_driver = neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata = True
注释:The metadata agent provides configuration information such as credentials to instances.
修改配置文件:/etc/neutron/metadata_agent.ini
在``[DEFAULT]`` 部分,配置元数据主机以及共享密码:
[DEFAULT]...nova_metadata_ip = controllermetadata_proxy_shared_secret = METADATA_SECRE
修改配置文件:/etc/nova/nova.conf
在``[neutron]``部分,配置访问参数,启用元数据代理并设置密码:
[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
网络服务初始化脚本需要一个超链接
/etc/neutron/plugin.ini``指向ML2插件配置文件
/etc/neutron/plugins/ml2/ml2_conf.ini``。如果超链接不存在,使用下面的命令创建它:# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
同步数据库:
# 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
重启计算API 服务:
# systemctl restart openstack-nova-api.service
当系统启动时,启动 Networking 服务并配置它启动。
对于两种网络选项:
# systemctl enable neutron-server.service \ neutron-linuxbridge-agent.service neutron-dhcp-agent.service \ neutron-metadata-agent.service# systemctl start neutron-server.service \ neutron-linuxbridge-agent.service neutron-dhcp-agent.service \ neutron-metadata-agent.service
- 每天学习openstack(14)
- 每天学习openstack(3)
- 每天学习openstack(4)
- 每天学习openstack(6)
- 每天学习openstack(7)
- 每天学习openstack(8)
- 每天学习openstack(9)
- 每天学习openstack(11)
- 每天学习openstack(12)
- 每天学习openstack(13)
- 每天学习openstack(15)
- 每天学习openstack(16)
- 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
- 云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)
- OpenStack 架构 - 每天5分钟玩转 OpenStack(15)
- 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
- Openstack : 14、Openstack-开发基础 Pecan学习
- 学习openstack(一)
- oracle赋予一个用户具有查询另一个用户所有表数据
- Java行业的圣经-四本最重要的个人藏书
- Java bean简单介绍
- 1.数据结构和算法的一些定义
- Java之谜 —— 来自Neal Gafter的演讲
- 每天学习openstack(14)
- 批处理for命令截取字符串
- java集合类(Map)
- 集成第三方推送最佳实践
- c#装箱操作和拆箱操作
- textview中英文都显示的解决办法
- 平衡二叉树总结四:替罪羊树(scapegoat tree)
- call函数
- Hive使用GBK等非UTF8字符集