Openstack kilo指南安装与实践(1)
1. 结构
(1) 综述
OpenStack是一个支持所有云端环境的开放资源云计算平台项目。这个项目旨在简单的实现,强大的扩展性和其他丰富的一系列特性。来自全世界的云计算的专家都热心献身于这个项目。
OpenStack提供一系列大量已经实现的服务来提供一个"基础设施即服务"(IaaS)的解决方案。每一个服务都提供了应用程序接口(API)去促进项目的融合成一体。
下面是一个OpenStack服务列表:
Table1.1 OpenStack services
服务 | 项目 | 描述 |
---|---|---|
Dashboard | Horizon | 提供一个基于web界面的入口去联系底层的OpenStack服务,例如运行一个实例时,给IP地址赋值和配置访问控制 |
Compute | Nova | 管理在OpenStack云平台上运行的计算实例的风格 |
NetWorking | Neutron | 使网络连接为OpenStack服务成为一个服务,例如OpenStack Compute,给使用者提供一个API去定义各服务网络和与各服务之间的连接。可插式的连接结构更受网络供应商和技术者们的追求。 |
Object Stroge | Swift | 通过一个HTTP基础API-“RESTful”去存储和恢复任意非结构化的数据。它对于数据的反应和高扩展性的结构。它的实现并不像一个拥有上级目录的文件服务。在这种情况下,它通过集群写入对象和文件在多个驱动器,来确保数据的复制 |
Block Storage | Clinder | 对运行的实例通过一个永久块存储服务。它可插式的驱动器结构促进块存储设备的产生和控制。 |
Identity Service | Keystone | 为其他OpenStack服务提供了验证和许可服务。为所有的OpenStack服务提供一个入口点目录 |
Image Service | Glance | 存储和恢复虚拟机磁盘镜像。OpenStack Compute服务尽可能使用它去对实例提供服务 |
Telemetry | Ceilometer | 以记账、标记、可扩展和统计为目的去计量和监控OpenStack云。 |
Orchestaration | Heat | 通过使用原生的HOT模板或AWS CloudFormation模板,借用一个OpenStack原生的REST API和一个CloudFormation Query API,让orchestration使多种程序混合。 |
Database service | Trove | 为关系型和非关系型数据库提供可扩展的和依赖程度高的云端”数据库即服务”功能 |
Data processing service | Sahara | 通过比如Hadoop版本,集群拓扑结构和节点硬件描述一类的详细参数来为规定和侧脸Hadoop集群提供一定能力。 |
这个指南描述了如何去部署这些服务在一个测试功能的环境中,通过例子,教你如何去建造一个生产环境。实际上,你会使用自动化工具比如Ansible,Chef,和Puppet 去部署和管理一个生产环境。
2.概念结构
运行或加载一个虚拟机或者实例设计到几个服务之间的相互作用。接下来的图表提供了传统OpenStack环境的概念结构。
Fure 1.1. Conceptual architecture
3.简单结构
OpenStack是一个高度可配置的满足不同各种计算,网络和存储选择需要。这个指南能够让你去选择你自己的OpenStack冒险使用一个代码和可选择服务的组合。这个指南使用接下来的简单结构:
- 有OpenStack 网络(neutron)和对块存储和对象存储服务的可选择节点的三个节点结构
- 控制节点运行Identity服务、Image服务、网络和Compute的管理部分、网络插件和dashboard(控制面板)。它也包含了支持服务,比如SQL数据库,消息队列和网络协议(NTP)
视情况而言,这个控制节点运行portions of Block Storage, Object Storage, Orchestration,Telemetry, Database, 和 Data processing services。这些组件都为你的环境提供额外的特性。 - 网络节点运行the Networking plug-in 和several agents that provision tenant networks 以及 provide switching, routing, NAT, 和 DHCP services。这个节点为了租户的虚拟机实例也处理外部(网络)连接。
- 控制节点运行Identity服务、Image服务、网络和Compute的管理部分、网络插件和dashboard(控制面板)。它也包含了支持服务,比如SQL数据库,消息队列和网络协议(NTP)
计算节点运行操作租户虚拟机或实例的Compute的管理者部分。在默认情况下,Compute使用KVM作为一个管理者。这个计算节点也运行网络插件和连接租户网络与实例的代理以及提供防火墙(安全组)的服务。你可以运行超过一个计算节点。
- 计算节点视情况运行一个测量代理去搜集计量值。而且,它可以在一个分散的存储网络包含一个第三网络接口去提高存储服务的运行。
可选择的块存储节点包含了那些为租户虚拟机网络实例的块状存储服务的磁盘。你可以运行不止他们其中一个节点。
块状存储节点视情况会运行一个测量代理去搜集计量值。而且,它也可以在一个分散的存储网络包含一个第二网络接口去提高存储服务的运行。可选择的对象存储节点包含了那些使用为了存储账户、容器和对象的对象存储服务的磁盘。你可以运行他们其中至少两个节点。然而,最小结构例子需要两个节点。
那些节点可选择的在一个分散的存储网络包含一个第二网络接口去提高存储服务的运行。注意:
当你实现这个结构的时候,跳过“传统网络(noova-network)”部分在第六章,“增加一个网络组件”。可选择服务可能需要一个额外节点或在现存节点的额外资源。