OpenStack主要组件和作用
openstack是一个开源的云计算管理平台,由几个重要的组件结合起来完成工作。openstack支持所有类型的云环境,实施简单可以大规模扩展丰富标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施即服务也就是laas的解决方案,每个服务提供API进行集成。
openstack主要有两个模块:Nova和Swift,nova是虚拟服务器部署和计算模块,swift是分布式云存储模块,两个可以一起使用也可以分开使用。
openstack服务是由几个进程组成。所有服务至少有一个API进程,用来监听API请求,预处理它们并将它们传递给其他部分,除了身份服务外。实际上由不同的流程来完成。
对一个服务进程直接的通信,使用AMQP消息代理。服务的状态存储在数据库中,在部署openstack云时,可以选择多种消息代理和数据库解决方案(mysql、rabbitmq、mariadb、sqlite)
用户可以通过Horizon Dashboard实现基于Web用户界面,命令行客户端以及通过浏览器插件或curl工具法术API请求来访问OpenStack。对于应用程序,可以使用多SDK。最终,所欲这些访问方法都会向各种OpenStack服务发出REST API调用。
整个OpenStack是由控制节点,计算节点,网络节点,存储节点,四大部分组成。(这四个节点也可以单机部署)
1.控制节点:负责对其余节点的控制,包括虚机创建、迁移、网络分配、存储分配等。
控制节点架构如下:
控制节点又包括其他服务如下:
管理支持服务:数据库作为基础/扩展服务产生的数据存放的地方,消息代理服务(也称消息中间 件)为其他各种服务之间提供了统一的消息通信服务
基础管理服务包含Keystone、Glance、Nova、Neutron、Horizon五个服务
Keystone:认证管理服务,提供所有组件的认证信息令牌管理、创建和修改,使用mysql数据库存储 认证信息
glance:镜像管理服务,提供了对虚机部署的时候提供镜像的管理导入和格式以及制作相应的模板
nova:计算管理服务,提供了对计算节点的nova管理、使用nova-api进行通信。
neutron:网络管理服务,提供了网络节点的网络拓扑管理,同时提供neutron在horizon的管理界面
horizon:控制台服务,提供了以web形式对所有节点的所有服务的管理,把该服务成为dashboard。
扩展管理服务包含:cinder、swift、trove、heat、centmeter五个服务
Cinder:提供管理存储节点的Cinder相关、同时提供Cinder在Horizon中的管理面板
Swift:提供管理存储节点Swift相关、同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库节点的Trove先关、同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以 解决自动收缩、负 载均衡等高级特性
Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些书库,读数据进行分析,在一定条件下出发现货供应动 作控制节点通常来说只需要一个网络端口来用于通信和管理各个节点