第 14 章 使用 Ansible 配置 overcloud
Ansible 是应用 overcloud 配置的主要方法。本章介绍了如何与 overcloud 的 Ansible 配置进行交互的步骤。
尽管 director 会自动生成 Ansible playbook,您最好熟悉 Ansible 语法。有关如何使用 Ansible 的更多信息,请参见 https://docs.ansible.com/。
Ansible 还使用了角色这一概念,但这有别于 OpenStack 平台 director 中的角色。
14.1. 基于 Ansible 的 overcloud 配置 (config-download)
config-download
功能是 director 用于配置 overcloud 的方法。director 使用 config-download
以及 OpenStack Orchestration (heat) 和 OpenStack Workflow Service (mistral) 生成软件配置并将配置应用到每个 overcloud 节点。尽管 Heat 从 SoftwareDeployment
资源创建所有部署数据以执行 overcloud 安装和配置,但 Heat 并不应用任何配置。Heat 仅通过 Heat API 提供配置数据。当 director 创建堆栈时,Mistral 工作流查询 Heat API 以获取配置数据,生成一组 Ansible playbook,并将 Ansible playbook 应用到 overcloud。
作为结果,在运行 openstack overcloud deploy
命令时后会发生以下操作:
-
director 根据
openstack-tripleo-heat-templates
创建新的部署计划,并通过包含环境文件和参数来自定义该计划。 - director 使用 Heat 来解释部署计划,并创建 overcloud 堆栈和所有下级资源。这包括通过 OpenStack Bare Metal (ironic) 置备节点。
- Heat 也会从部署计划创建软件配置。director 从这一软件配置中编译 Ansible playbook。
- director 在 overcloud 节点上生成一个临时用户 (`tripleo-admin1),专门用于进行 Ansible SSH 访问。
- director 下载 Heat 软件配置,并使用 Heat 输出生成一系列 Ansible playbook。
-
director 通过
ansible-playbook
将 Ansible playbook 应用到 overcloud 节点。