zziyuann 2020-06-12
Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需要的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源,网络、授权及测读。虽然Nova本身并不提供任务虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。
Nova它提供了一种配置计算实例(即虚拟服务器)的方法。Nova支持创建虚拟机、裸机服务器,并且对系统容器的支持有限。Nova在现有linux服务器之上作为一组守护进程运行,已提供该服务。
它需要以下额外的OpenStack服务来实现基本功能:
这三个组件组件通过消息中间件传输通信
API Server(nova-api)位于表示层。用于接受外部请求
消息队列服务(Rabbit MQ)
运算工作站(nova-comoute)负责虚拟机的创建和分配
网络控制器(nova-network)
卷管理(nova-volume)
调度器(nova-scheduler)调度如何选择哪个主机创建VM
OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:
提供镜像的管理、包含镜像的导入、格式以及制作相应的模板等相关服务。
1)Glance-API
主要负责接收相应镜像管理命令的Resrful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)默认绑定端口是9292.
2)Glance-Registry:
主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。more绑定的端口号是9191.
Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖资深REST(基于Identity API)系统进行工作主要对(单不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定,下图显示了身份认证服务的流程:
提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息。
Swift是OpenStack提供一种分布式,持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象存储的能力。Swift内建冗余和失效备源管理,也能欧处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。
Cinder 是OpenStack Block Storage服务,用于为Nova虚拟机,lronic裸机主机,容器等提供卷。
作为Cinder的最终用户,我们将使用Cinder创建和管理使用欧冠Horizen用户界面,命令行工具, 如python-cinderclient,或者直接使用REST API。
Cinder的所有功能都是通过REST API公开,可用于使用Cinder构建更复杂的逻辑或自动化, 这可以直接使用或者通过各种SDK使用。
Cinder服务通过一系列守护进程的交互来工作,这些进程名称cinder-*永久驻留在主机或机器上,我们可以从单个节点运行所有二进制文件,也可以分布在多个节点上,我们也可以在与其他OpenStack服务想用的节点上运行他们。
提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面。
提供了以Web形式对所有节点的所有服务的管理,通常把该服务称为Dashboard。
提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩、负载均衡等高级特性。
提供对物理资源以及虚拟资源的监控,并记录这些数据,读数据进行分析,在一定条件下触发对应动作
提供管理数据库节点的Trove相关、同时提供Trove在Horizon中的管理面板。