openstack云计算平台架构简介
服务框架
openstack的服务框架是基于面向服务(SOA)的自动化服务管理架构,系统由多个不同的服务组件组成,每个服务组件提供一个专门的服务功能,通过API接口进行各服务组件的调用。
完整的OpenStack架构应包括控制节点、计算节点,网络节点和存储节点,其中,控制节点控制其余节点完成虚拟机建立、迁移、网络分配和存储分配等工作;计算节点主要负责虚拟机的运行;网络节点主要负责内外网络通信;存储节点主要为云主机提供额外的存储空间。
服务组件
openstack架构服务组件主要包括keystone、cinder、neutron、nova、glance、horizon,各个组件互相独立,可单独部署在不同的节点,也可统一部署在相同节点。
以下为各个组件的调用关系图:
组件功能
- keystone
认证管理服务,对OpenStack所有组件的认证信息或令牌进行管理,包括服务授权、服务认证、令牌的创建、修改等,由上图中可以看出,nova、neutron、cinder、glance、horizon服务组件的调用都需要经过keyston进行认证授权; - neutron
网络管理服务,对网络节点的网络拓扑进行管理,neutron由neutron-server、neutron-plugins、neutron-agent组成,各组件通过消息队列MQ进行通信,通过数据库DB进行数据存储; - glance
镜像管理服务,对虚拟机部署时所能提供的镜像的进行管理,包括镜像的导入、格式、以及制作相应的模板,由glance-api、glance-registry、image store组成,DB负责镜像存储; - horizon
控制台服务,提供了以Web形式对所有节点的所有服务的管理,通常将该服务称为DashBoard,用户登录时需要进行认证,认证成功后向nova计算服务发出请求,nova进行各个服务组件的进一步调用,即进行网络、存储、镜像、计算等资源调度; - nova
计算管理服务,提供对计算节点的Nova的管理,使用Nova-API接受服务请求并进行资源调度,消息队列服务各个服务组件之间的通信,DB进行资源存储;