阶段 4:规模扩展

扩展之旅 中的第四阶段是规模扩展。

无论你如何努力 纵向扩展 单个集群,最终你都将不得不扩展到多个集群、可用区、区域或单元。 导航各种选择并选择最佳架构可能很困难。 此页面旨在帮助回答这些问题。

一旦你完成了这个阶段,你就可以进入扩展之旅的最后阶段:升级和维护

常见问题解答

问:我应该何时扩展我的 OpenStack 基础设施?

答:没有特殊的公式可以告诉你需要扩展你的 OpenStack 基础设施。 几乎所有其他方面都取决于你的需求和期望。 然而,有一些因素可以帮助你做出决定。 随着你纵向扩展你的基础设施,如果控制平面出现问题,你将增加暴露/风险。 为了减轻这种风险,通常会为消息代理和数据库设计复杂的设置和程序。 然而,在某些情况下,这些复杂的解决方案也难以维护和保持可用。 如果你达到了这一点,你可能应该考虑扩展你的部署的选项。 还有其他动机可以扩展部署,例如将用户暴露给不同的部署分区、管理特定的资源或工作负载、保持简单……

问:扩展 OpenStack 基础设施有哪些不同的选项?

答:扩展你的 OpenStack 基础设施有两种主要选项:区域和单元。

问:区域

答:区域是一个新的 OpenStack 部署,通常共享相同的 Keystone 和 Horizon 组件。 当部署者希望显式地将用户暴露给此部署分区时,区域很有用,通常是为了帮助他们为应用程序实现更高的容错能力。 由于区域是独立的 OpenStack 部署,如果用户应用程序分布在它们之间,它们不应受到区域发生故障的影响。

问:单元

答:单元是一个 Nova 概念,允许你对 Nova 部署进行分区。 这允许你将负载分片到不同的消息代理、数据库和 nova-conductors 之间。 因此,你可以大大增加基础设施中的计算节点数量,而无需拥有中央和复杂的消息代理和数据库设置。 单元不会暴露给用户,但可以利用它们来设置不同的 AVZ,隔离特定的工作负载或帮助资源管理。

问:区域有哪些优势?

答:区域的一些优势

  • 独立的 OpenStack 部署

  • 区域暴露给用户

  • 有助于扩展不支持共享的服务(例如:Neutron)

  • 通常 Keystone 和 Horizon 在不同的区域之间共享,但其他服务也可以共享(Glance、Magnum、……)

问:Nova 单元有哪些优势?

答:部署单元的一些优势

  • 单一端点。 在不同的数据中心之间透明地扩展

  • 可用性和弹性

  • 隔离故障域

  • 为项目分配资源(单元)

  • 每个单元都有硬件类型

  • 易于为每个单元配置不同的计算节点配置

问:可用区是否可以作为扩展我的 OpenStack 部署的选项?

答:取决于可用区如何部署! 默认情况下,可用区是聚合,用于将不同的资源组暴露给用户。 然而,可用区可以用于将不同单元的资源暴露给用户。 使用这种策略,你将提高可用区可用性和隔离性,因为单元具有不同的控制平面。

问:我应该部署单元还是区域?

答:再次取决于你的用例…… 例如,一些大型基础设施实际上同时部署了两者。

  • 如果你想分片你的部署,允许你管理数千个计算节点而无需复杂的消息代理或数据库设置,那么单元很有用。 因此,它可以提高控制平面出现问题时基础设施的弹性。 它们还可以用于隔离资源和工作负载,并提供所有可用资源的逻辑组织。 但是,单元不会暴露给用户! 这可能取决于你的用例,既是优势也是劣势。 此外,单元是 Nova 概念,不能帮助扩展其他服务(例如,Neutron)。

  • 区域,因为它们是完全独立的部署,允许你扩展所有 OpenStack 组件。 然而,你必须承担设置和管理不同部署的开销。 区域也暴露给用户,帮助他们为应用程序实现更好的可用性。

问:谁在使用单元和区域?

答:例如,CERN 部署使用单元和区域。