第 13 章 使用 Ansible 配置 overcloud

Ansible 是应用 overcloud 配置的主要方法。本章介绍了有关如何与 overcloud Ansible 配置进行交互的信息。

尽管 director 会自动生成 Ansible playbook,您最好熟悉 Ansible 语法。有关使用 Ansible 的更多信息,请参见 https://docs.ansible.com/

注意

Ansible 还使用了角色这一概念,但这有别于 OpenStack Platform director 中的角色。Ansible 角色形成了 playbook 的可重复使用的组件,而 director 角色包含 OpenStack 服务到节点类型的映射。

13.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-admin),专门用于进行 Ansible SSH 访问。
  • director 下载 heat 软件配置,并使用 heat 输出生成一系列 Ansible playbook。
  • director 通过 ansible-playbook 将 Ansible playbook 应用到 overcloud 节点。