16.8. 使用 ansible-playbook-command.sh 脚本运行 config-download


当您使用标准方法或单独的置备和配置过程部署 overcloud 时,director 会在 ~/config-download/overcloud 中生成工作目录。此目录包含再次运行配置过程所需的 playbook 和脚本。

先决条件

  • 使用以下方法之一部署的 overcloud:

    • 组合置备和配置流程的标准方法。
    • 分离置备和配置过程。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 运行 ansible-playbook-command.sh 脚本。

    可以将额外的 Ansible 参数传递给该脚本,再将其原封不动地传递给 ansible-playbook 命令。这样便可利用 Ansible 功能,如检查模式(--check)、限制主机(--limit)或覆盖变量(-e)。例如:

    $ ./ansible-playbook-command.sh --limit Controller
    警告

    --limit 用于大规模部署时,只有执行中包含的主机才会添加到跨节点的 SSH known_hosts 文件中。因此,一些操作(如实时迁移)可能无法在没有在 known_hosts 文件中的节点间工作。

    注意

    要确保 /etc/hosts 文件在所有节点上都处于最新状态,请以 stack 用户身份运行以下命令:

    (undercloud)$ cd /home/stack/overcloud-deploy/overcloud/config-download/overcloud
    (undercloud)$ ANSIBLE_REMOTE_USER="tripleo-admin" ansible allovercloud \
      -i /home/stack/overcloud-deploy/overcloud/tripleo-ansible-inventory.yaml \
      -m include_role \
      -a name=tripleo_hosts_entries \
      -e @global_vars.yaml
  3. 等待配置过程完成。

    其他信息

    • 这个工作目录中包含一个名为 deploy_steps_playbook.yaml 的 playbook,用于管理 overcloud 配置任务。要查看此 playbook,请运行以下命令:

      $ less deploy_steps_playbook.yaml

      这个 playbook 会使用工作目录中所含的各种任务文件。某些任务文件是所有 OpenStack 平台角色通用的,某些任务文件则特定于某些 OpenStack 平台角色和服务器。

    • 这个工作目录中还包含与您在 overcloud 的 roles_data 文件中定义的各个角色相对应的子目录。例如:

      $ ls Controller/

      每个 OpenStack 平台角色目录中还包含相应角色类型的各个服务器的子目录。这些目录采用可组合角色主机名格式:

      $ ls Controller/overcloud-controller-0
    • deploy_steps_playbook.yaml 中的 Ansible 任务已标记。要查看完整的标记列表,在 ansible-playbook 中使用 CLI 选项 --list-tags

      $ ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yaml

      然后,在 ansible-playbook-command.sh 脚本中通过 --tags--skip-tags--start-at-task 来应用已标记的配置:

      $ ./ansible-playbook-command.sh --tags overcloud
  4. 对 overcloud 运行 config-download playbook 时,可能会收到有关每个主机的 SSH 指纹的消息。要避免这些消息,请在运行 ansible-playbook-command.sh 脚本时包含 --ssh-common-args="-o StrictHostKeyChecking=no"

    $ ./ansible-playbook-command.sh --tags overcloud --ssh-common-args="-o StrictHostKeyChecking=no"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.