OpenStack services
本节将详细描述OpenStack服务。
Compute service overview(计算服务概述)
使用OpenStack云计算计算主机和管理系统。OpenStack计算是一个“基础架构即服务”(IaaS)系统的重要组成部分。主模块是在Python中实现的。
OpenStack Compute及其组件包括以下领域:
nova-api
service
接收并响应终端用户计算API调用。服务支持OpenStack计算API,Amazon EC2 API,一种超级管理员提供执行管理操作的Admin API。它执行一些政策和提升者大多数编制活动,如运行一个实例。
nova-api-metadata
service
接受从实例元数据请求。 nova-api-metadata通常使用在与nova-network安装在多主机模式下运行。更多,详见Metadata service
nova-compute
service
守护进程,它负责管理程序api创建和终止虚拟机实例。例如:
- XenAPI for XenServer/XCP
- libvirt for KVM or QEMU
- VMwareAPI for VMware
处理是相当复杂的。基本上,这个守护进程从队列中接收行动并执行一系列的系统命令,如启动一个KVM实例和数据库中更新它的状态。
nova-scheduler
service
从虚拟机实例的请求队列启动一个虚拟机以及确定哪个计算服务器主机运行这个虚拟机。
nova-conductor
module
介导nova-compute服务和数据库之间的交互。它消除了直接访问云数据库由nova-compute服务。nova-conductor模块横向尺度。然而,不要将它部署在nova-compute服务节点上运行。
nova-cert
module
nova-consoleauth
daemon
nova-novncproxy
daemon
nova-spicehtml5proxy
daemon
nova-xvpvncproxy
daemon
Storage concepts
OpenStack堆栈使用下列存储类型:
注意:1、您不能像传统硬盘使用 OpenStack Object Storage。 OpenStack Object Storage为了获得其他收益而放松了一些约束POSIX-style文件系统。你可以通过一个API使用HTTP访问的对象。后来你没有提供原子操作(即依靠最终一致性),您可以轻松地扩展存储系统,避免失败的中心点。
2、 OpenStack Image service是在openstack集群下用于管理的虚拟机映像,而不是存储虚拟机镜像。它提供了一个抽象不同的方法——一座桥到存储来存储,而不是存储本身。
3、OpenStack Object Storage 可以自己工作,对象存储(swift)产品可以单独使用的计算(nova)产品。
Object Storage service overview
OpenStack对象存储是一种多租户对象存储系统。它是高度可伸缩的,通过RESTful HTTP API可以管理大量的非结构化数据以低成本。
它包括以下组件:
Proxy servers (swift-proxy-server)
Account servers (swift-account-server)
Container servers (swift-container-server)
Object servers (swift-object-server)
Various periodic processes
WSGI middleware
swift client
swift-init
swift-recon
swift-ring-builder
Block Storage service overview
OpenStack Block Storage 将持久性存储添加到一个虚拟机。 Block Storage为管理卷提供了基础设施,与 OpenStack Compute 相互作用为实例提供卷。这个服务还支持管理卷快照,和卷类型。
Block Storage service由以下部分组成:
cinder-api
接受请求,并将请求送到cinder-volume
cinder-volume
直接与Block Storage和cinder-scheduler交互。还是通过消息队列。cinder-volume响应发送到块存储服务读写请求来维护状态。它可以与多种存储提供商通过驱动程序的体系结构。
cinder-scheduler daemon
选择最优存储提供节点上创建卷。
cinder-backup daemon
cinder-backup daemon提供任何类型的备份卷备份存储。
Networking service overview
它包括以下组件:
neutron-server
接受和API请求路由到适当的OpenStack网络插件的行动。
OpenStack Networking plug-ins and agents
插入和拔掉港口,创建网络或子网,并提供IP寻址。这些插件和代理根据不同供应商和技术用于特定的云。OpenStack网络附带插件和代理思科虚拟和物理开关,NEC OpenFlow产品,Open vSwitch,Linux桥接,VMware NSX等车型的底盘产品。
普通代理L3(第三层),DHCP(动态主机IP寻址),和一个插件的代理。
Messaging queue
所使用的大多数neutron-server OpenStack网络设施之间路由信息和各种代理。还可以作为数据库存储网络状态为特定的插件。
OpenStack网络主要与OpenStack计算为其提供网络和连接实例。
Dashboard overview
OpenStack仪表板是一个模块化的Django web应用程序提供了一个图形界面OpenStack服务。
仪表板通常部署在Apache mod_wsgi。您可以修改仪表板代码以使它适合不同的网站。
从网络体系结构的角度来看,这项服务必须访问客户和每个OpenStack的公共API服务。为其他服务使用管理员功能,它必须连接到管理API端点,它不应该由客户访问。
Identity service overview
OpenStack身份管理服务提供一个单点集成身份验证、授权和目录服务。
身份服务通常是第一个服务用户与之交互。一旦身份验证,最终用户可以使用自己的身份访问其他OpenStack服务。同样,其他OpenStack服务利用身份服务确保用户是他们说他们是谁,发现在其他服务中部署。服务还可以与一些外部集成用户身份管理系统(如LDAP)。
身份服务通常是第一个服务用户与之交互。一旦身份验证,最终用户可以使用自己的身份访问其他OpenStack服务。同样,其他OpenStack服务利用身份服务确保用户是他们说他们是谁,发现在其他服务中部署。服务还可以与一些外部集成用户身份管理系统(如LDAP)。用户和服务可以找到其他服务通过使用服务目录,这是由身份管理服务。顾名思义,一个服务目录是可用的服务的集合在一个OpenStack部署。每个服务可以有一个或多个端点,每个端点可以三种类型之一:管理,内部或公共场合。在生产环境中,不同的端点类型可能驻留在单独的网络接触到不同类型的用户,是为了安全起见。例如,公共API网络可能是可见的互联网用户可以管理自己的云。管理API可能局限于组织内的运营商网络管理云基础设施。内部网络API可能会限制包含OpenStack的主机服务。此外,OpenStack支持可伸缩性的多个区域。为简单起见,本指南使用的管理网络端点类型和默认RegionOne地区。在一起,区域、服务和端点标识服务包括服务目录中创建一个部署。每个OpenStack服务在您的部署需要服务条目存储在相应的端点标识服务。这一切都已完成后身份服务已经安装和配置。
身份服务包含这些组件:
Server
一个集中的服务器使用RESTful接口提供身份验证和授权服务。
Drivers
驱动程序或服务后端集成到集中式服务器。他们是用于访问存储库中的身份信息外部OpenStack,并且可能已经存在在OpenStack部署的基础设施(例如,SQL数据库或LDAP服务器)。
Modules
中间件模块OpenStack的地址空间中运行的组件是使用单位服务。这些模块拦截服务请求,提取用户凭证,并将它们发送到中央服务器进行授权。之间的集成中间件模块和OpenStack组件使用Python Web服务器网关接口。