OpenStack是一种云操作系统,可控制整个数据中心的大型计算、存储和网络资源池,所有这些都通过一个仪表盘进行管理,该仪表盘可让管理员进行控制,同时使用户能够通过Web界面调配资源。那么OpenStack架构及原理是什么?本文将简述下OpenStack的逻辑架构 。
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,这个项目由几个主要的组件组合起来完成一些具体的工作。它主要为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。覆盖了网络、虚拟化、操作系统、服务器等各个方面。
OpenStack逻辑架构介绍了OpenStack原生架构的组件(全局组件、核心组件和外部组件),组件之间通过API(前提是将请求交于keystone进行身份验证,是否有权限进行通讯)进行点到点的通讯。单个项目内部有很多子功能模块,他们通过AMQP消息代理(RabbitMQ)进行交互,服务的状态存储在数据库中。
OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。
每个OpenStack服务又由若干组件组成,包含多个进程。所有服务至少有一个API进程,用于侦听API请求,对这些请求进行预处理,并将它们传送到该服务的其他组件。除了认证服务,实际工作都是由具体的进程完成。至于一个服务的进程之间通信,则使用AMQP消息代理,服务的状态存储在数据库中。