概述¶
OpenStack 项目是一个开源云计算平台,支持所有类型的云环境。该项目旨在实现简单的部署、大规模的可扩展性和丰富的功能集。来自世界各地的云计算专家都在为该项目贡献力量。
OpenStack 通过各种互补的服务提供基础设施即服务 (IaaS) 解决方案。每个服务都提供一个应用程序编程接口 (API),从而促进了这种集成。
本指南涵盖了使用适合具有足够 Linux 经验的 OpenStack 新用户的示例架构逐步部署主要的 OpenStack 服务。本指南不适用于生产系统安装,而是为了创建最小的可行概念,以了解 OpenStack。
熟悉了这些 OpenStack 服务的基本安装、配置、操作和故障排除后,您应该考虑以下步骤,以使用生产架构进行部署
确定并实施满足性能和冗余要求的必要核心和可选服务。
使用防火墙、加密和策略等方法提高安全性。
实施部署工具,例如 Ansible、Chef、Puppet 或 Salt,以自动化生产环境的部署和管理。
示例架构¶
示例架构至少需要两个节点(主机)来启动基本的虚拟机 (VM) 或实例。可选服务,例如块存储和对象存储,需要额外的节点。
重要提示
本指南中使用的示例架构是一种最小配置,不适用于生产系统安装。它旨在提供一个最小的可行概念,以了解 OpenStack。有关创建特定用例架构的信息,或如何确定所需的架构,请参阅 架构设计指南。
警告
一旦云已部署,更改部署中任何节点的 hostname 都不受支持。在某些情况下,可能可以从部署中删除节点,并以不同的 hostname 重新添加它。原地重命名节点会导致需要多次手动修复的问题。
此示例架构与最小生产架构的不同之处如下
网络代理驻留在控制器节点上,而不是一个或多个专用的网络节点。
自服务网络的覆盖(隧道)流量通过管理网络,而不是专用网络。
有关生产架构的更多信息,请参阅 架构设计指南、OpenStack 运维指南和 OpenStack 网络指南。
硬件要求¶
控制器¶
控制器节点运行身份服务、镜像服务、Compute 的管理部分、Networking 的管理部分、各种 Networking 代理和 Dashboard。它还包括支持服务,例如 SQL 数据库、消息队列和网络时间协议 (NTP)。
可选地,控制器节点运行块存储、对象存储、编排和遥测服务的某些部分。
控制器节点至少需要两个网络接口。
计算¶
计算节点运行 Compute 的超visor 部分,该部分运行实例。默认情况下,Compute 使用基于内核的 VM (KVM) 超visor。计算节点还运行 Networking 服务代理,该代理将实例连接到虚拟网络,并通过安全组为实例提供防火墙服务。
您可以部署多个计算节点。每个节点至少需要两个网络接口。
块存储¶
可选的块存储节点包含块存储和共享文件系统服务为实例配置的磁盘。
为简单起见,计算节点与此节点之间的服务流量使用管理网络。生产环境应实施单独的存储网络以提高性能和安全性。
您可以部署多个块存储节点。每个节点至少需要一个网络接口。
对象存储¶
可选的对象存储节点包含对象存储服务用于存储帐户、容器和对象的磁盘。
为简单起见,计算节点与此节点之间的服务流量使用管理网络。生产环境应实施单独的存储网络以提高性能和安全性。
此服务需要两个节点。每个节点至少需要一个网络接口。您可以部署两个以上的对象存储节点。
网络¶
选择以下虚拟网络选项之一。
网络选项 1:提供商网络¶
提供商网络选项以最简单的方式部署 OpenStack Networking 服务,主要使用第二层(桥接/交换)服务和 VLAN 网络分段。本质上,它将虚拟网络桥接到物理网络,并依赖物理网络基础设施来实现第三层(路由)服务。此外,动态主机配置协议 (DHCP) 服务为实例提供 IP 地址信息。
OpenStack 用户需要更多关于底层网络基础设施的信息,才能创建与基础设施完全匹配的虚拟网络。
警告
此选项不支持自服务(私有)网络、第三层(路由)服务以及负载均衡即服务 (LBaaS) 和防火墙即服务 (FWaaS) 等高级服务。如果您需要这些功能,请考虑下面的自服务网络选项。
网络选项 2:自服务网络¶
自服务网络选项通过使用虚拟可扩展局域网 (VXLAN) 等覆盖分段方法增强了提供商网络选项,并实现了第三层(路由)服务,从而实现了自服务网络。本质上,它使用网络地址转换 (NAT) 将虚拟网络路由到物理网络。此外,此选项还为 LBaaS 和 FWaaS 等高级服务提供了基础。
OpenStack 用户可以在不知道数据网络底层基础设施的情况下创建虚拟网络。如果配置了第二层插件,这也可以包括 VLAN 网络。