[ English | Indonesia | русский ]
服务架构¶
介绍¶
OpenStack-Ansible (OSA) 具有灵活的部署配置模型,可以将所有服务部署在独立的机器容器中,或在指定的宿主机上部署,无需使用容器,并且所有网络流量可以通过单个网络接口或多个网络接口进行传输。
这种灵活性使部署者能够选择以适合特定用例的适当方式部署 OpenStack。
以下章节描述了 OpenStack-Ansible 部署的服务。
基础设施服务¶
OpenStack-Ansible 部署以下基础设施组件
MariaDB with Galera
所有 OpenStack 服务都需要一个基础数据库。MariaDB with Galera 实现了一个多主数据库配置,简化了其作为具有简单故障转移模型的高可用数据库的使用。
RabbitMQ
OpenStack 服务使用 RabbitMQ 进行高级消息队列协议 (AMQP)。OpenStack-Ansible 以集群配置部署 RabbitMQ,所有队列在集群节点之间进行镜像。由于遥测 (ceilometer) 消息队列流量非常大,对于大型环境,我们建议将遥测通知分离到单独的 RabbitMQ 集群中。
Memcached
OpenStack 服务使用 Memcached 进行内存缓存,从而加速事务。例如,OpenStack Identity 服务 (Keystone) 使用 Memcached 缓存身份验证令牌,确保服务在每次被要求验证令牌时不必完成磁盘或数据库事务。
仓库
仓库持有用于环境安装的参考工件集。这些工件包括
一个 Git 仓库,其中包含用于准备所有 OpenStack 服务软件包的源代码副本
在环境中部署的所有服务的 Python wheel
一个 apt/yum 代理缓存,用于缓存安装在环境中的发行版软件包
负载均衡器
部署至少需要一个负载均衡器。OpenStack-Ansible 提供了 HAProxy 的部署,但我们建议在生产环境中使用物理负载均衡设备。
实用工具容器
如果某个工具或对象不需要专用容器,或者为单个工具或对象创建新容器不切实际,则将其安装在实用工具容器中。当工具无法直接安装在宿主机上时,实用工具容器也用于此目的。实用工具容器配置了适当的凭据和客户端,以管理 OpenStack 环境。它设置为自动使用内部服务端点。
Unbound DNS 容器
可以可选地部署运行 Unbound DNS 缓存服务的容器,以缓存 DNS 查找并处理内部 DNS 名称解析。我们建议在大型生产环境中使用此服务,因为部署速度将大大加快。如果未使用此服务,OpenStack-Ansible 会修改环境中所有主机的
/etc/hosts条目。
OpenStack 服务¶
OpenStack-Ansible 能够部署多种服务。请查看角色成熟度矩阵,以了解您想要部署的服务的状态。