单节点配置对于将 OpenStack 作为产品进行测试以及熟悉其功能非常有用。但是,单节点配置不适合在生产环境中使用。对于此环境,您将在多个系统或节点中安装并配置 OpenStack。
每个云只需要一个系统信息显示板实例、一个映像存储和一个身份服务。每个云可以具有任意数量的存储和计算实例。根据您对特定云部署的需求评估各个组件,以确定该组件是否应该安装在单独的节点上,以及所需的该类型节点的数量。
本章中介绍的体系结构在以下三个系统中部署:
控制器节点-运行大多数共享 OpenStack 服务以及其他工具的节点。控制器节点为云提供 API、调度和其他共享服务。控制器节点具有系统信息显示板、映像存储以及身份服务。另外,还在此节点中配置 Nova 计算管理服务以及 Neutron 服务器。
计算节点-安装 VM 实例(也称为 Nova 计算实例)的节点。该节点运行管理这些 VM 实例的计算守护进程。
存储节点-托管数据的节点。
此三节点体系结构仅是在多个系统上部署 OpenStack 的一种方式。因为其灵活性,您可以除了此体系结构之外的其他方式分发 OpenStack 组件。因此,您必须在开始安装之前规划云配置。有关引导您的规划的信息,请参阅OpenStack 配置规划。
下图显示了本章中介绍的体系结构的概括性视图。
图 1 三节点配置参考体系结构
此图使用了 Cinder 来展示存储节点。不过,可以对 Swift 对象存储服务进行类似配置。
在 Oracle Solaris 中,弹性虚拟交换机 (elastic virtual switch, EVS) 形成 OpenStack 网络的后端。EVS 可促进 VLAN 或 VXLAN 上的 VM 实例之间的通信。这些 VM 实例可以位于同一计算节点上,也可以位于多个计算节点上。有关 EVS 的更多信息,请参阅关于弹性虚拟交换机的《管理网络虚拟化和网络资源》。此书位于 Operating Systems Documentation(操作系统文档)中您 Oracle Solaris 版本相应的库中。
要让不同节点相互通信,控制器节点中的 evsuser、neutron 和 root 的 SSH 公钥必须包含在所有配置的计算节点中的每个 evsuser 的 authorized_keys 文件中。请参阅下图,其中显示 SSH 公钥的分配。该图假设配置了多个计算节点。
图 2 EVS 控制器 SSH 密钥分配
有关适用于 Oracle Solaris 系统上 OpenStack 部署的 OpenStack 配置参数列表,请参见常用 OpenStack 配置文件和服务。