https://blog.csdn.net/zjluobing/article/details/51489325
OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即服务(IaaS)解决方案。每个服务提供了一个应用程序编程接口(API),促进了这种集成。根据您的需要,你可以安装部分或全部服务。下表描述了构成OpenStack架构的OpenStack服务:
Service | Code Name | Description |
Identity Service | Keystone | User Management |
Compute Service | Nova | Virtual Machine Management |
Image Service | Glance | Manages Virtual image like kernel image or disk image |
Dashboard | Horizon | Provides GUI console via Web browser |
Object Storage | Swift | Provides Cloud Storage |
Block Storage | Cinder | Storage Management for Virtual Machine |
Network Service | Neutron | Virtual Networking Management |
Orchestration Service | Heat | Provides Orchestration function for Virtual Machine |
Metering Service | Ceilometer | Provides the function of Usage measurement for accounting |
Database Service | Trove | Database resource Management |
Data Processing Service | Sahara | Provides Data Processing function |
Bare Metal Provisioning | Ironic | Provides Bare Metal Provisioning function |
Messaging Service | Zaqar | Provides Messaging Service function |
Shared File System | Manila | Provides File Sharing Service |
DNS Service | Designate | Provides DNS Server Service |
Key Manager Service | Barbican | Provides Key Management Service |
下面的图显示了OpenStack服务之间的关系:
为了设计、部署和配置OpenStack,管理员必须理解明白OpenStack的逻辑架构。正如OpenStack概念架构图显示,OpenStack包含一些独立的部分,称作OpenStack服务。所有服务授权认证都是通过Identity服务。单个服务通过公共APIs与其他服务进行交互,特权管理员用户命令除外。在内部,OpenStack服务是由几个进程组成。所有服务至少有一个API进程,用来监听API请求,预处理它们并传递它们到其他服务。除了Identity服务外,其他服务实际工作是由不同的进程完成。对于一个服务之间的进程通信,使用AMQP消息块。这些服务状态存储在一个数据库中。当部署和配置你的OpenStack云,你可以选择不同的消息队列服务和数据库服务,如RabbitMQ、MySQL、MariaDB和SQLite。下面的图显示了大多数通用的OpenStack云: