The OpenStack project is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project.
OpenStack通过各种补充服务提供基础设施即服务 Infrastructure-as-a-Service (IaaS)。
本指南涵盖了如何安装功能示例架构逐步部署下面主要的OpenStack服务,特别适合于对Linux经验丰富的OpenStack新用户:
服务 |
项目名称 |
描述 |
---|---|---|
`仪表盘<http://www.openstack.org/software/releases/liberty/components/horizon>`_ |
Horizon | 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。 |
Compute | Nova | 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。 |
Networking | Neutron | 确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。 |
存储 |
||
Object Storage | Swift | 通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。 |
Block Storage | Cinder | 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。 |
共享服务 |
||
Identity service | Keystone | 为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。 |
Image service | Glance | 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。 |
Telemetry | Ceilometer | 为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。 |
高层次服务 |
||
Orchestration | Heat | 既可以使用本地 :term:`HOT <Heat Orchestration Template (HOT)>`模板格式,亦可使用AWS CloudFormation模板格式,来编排多个综合的云应用,通过OpenStack本地REST API或者是CloudFormation相兼容的队列API。 |
在对这些OpenStack服务基础安装,配置,操作和故障诊断熟悉后,使用生产架构部署时你应该考虑下面的几个步骤。
确定并实施必要的核心和可选服务,以满足性能和冗余要求。
使用诸如防火墙,加密和服务策略的方式加强安全。
使用自动化工具,如 Ansible,Chef , Puppet 或者Salt实现自动部署和管理生产环境。
为了启动一个基本 :term:`virtual machine <virtual machine (VM)>`或者实例,这个示例架构要求至少两个节点(主机)。诸如块存储和对象存储这样的可选服务需要额外的节点。
这个示例架构不同于最小生产架构,具体如下:
网络代理在控制节点上而不是在一个多重多个独立的网络节点上。
私有网络的叠加(隧道)流量通过管理网络而不是专用网络。
产品架构的更多信息,参见`架构设计手册 <http://docs.openstack.org/arch-design/content/>`__, 运维手册, and 网络手册.
控制节点运行身份认证服务,镜像服务,管理部分计算和网络服务,不同的网络代理和仪表盘。同样包括像SQL数据库, :term:`message queue`和 :term:`NTP`这样的支撑服务。
可选的,可以在控制节点允许块存储,对象存储,Orchestration和Telemetry服务。
控制节点需要最少两块网卡。
计算节点运行操作实例的 :term:`hypervisor`计算部分。默认情况下使用 :term:`KVM <kernel-based VM (KVM)>`作为hypervisor。计算节点同样运行网络服务代理,用来连接实例到虚拟网络,通过:term:`security groups <security group>`为实例提供防火墙服务。instances via .
你可以部署超过1个计算节点。每个节点要求最少两个网络接口。
该可选的块存储节点包含磁盘,块存储服务会向实例提供这些磁盘。
简单起见,计算节点和这个节点间的服务流量使用管理网络。生产环境中应该实施单独的存储网络以增强性能和安全。
你可以部署超过一个块存储节点。每个节点要求至少一个网卡接口。
该可选的对象存储节点包含磁盘,对象存储服务用来存储账号,容器和对象。
简单起见,计算节点和这个节点间的服务流量使用管理网络。生产环境中应该实施单独的存储网络以增强性能和安全。
这个服务要求两个节点。每个节点要求最少一个网络接口。你可以部署超过两个对象存储节点。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.