OpenStack
OpenStack项目是一个开源的云计算平台,旨在实现很简单,大规模可伸缩,功能丰富。来自世界各地云计算开发人员和技术人员共同创建OpenStack项目。OpenStack通过一组相关的服务提供一个基础设施即服务(IaaS)解决方案。每个服务提供了一个应用程序编程接口(API),促进了这种集成。根据您的需要,你可以安装部分或全部服务。下表描述了构成OpenStack架构的OpenStack服务:
OpenStack Services
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云: