第 3 章 Deployment


以下流程涉及使用 Ansible 启用 Instance HA。如需有关 Ansible 的更多信息,请参阅 Ansible 文档

3.1. 创建 Necessary Ansible 配置文件

通过 Ansible 启用实例 HA 需要 清单文件和 SSH 参数文件。这两个文件都传递在 overcloud 上实施实例 HA 所需的 Ansible 变量。

清单文件

清单文件列出 ansible playbook 的不同目标主机。它分为两部分:第一部分列出了每个节点(按名称),以及 Ansible 应该用于每个 playbook 命令的主机名、用户名和私钥文件。例如:

overcloud-controller-0 ansible_host=overcloud-controller-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
Copy to Clipboard

第二部分在以下标题下列出每个节点(或 节点类型): 计算undercloudovercloudcontroller

创建名为 /home/stack/hosts 的清单文件。以下示例演示了此所需的语法:

undercloud ansible_host=undercloud ansible_user=stack ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-compute-1 ansible_host=overcloud-compute-1 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-compute-0 ansible_host=overcloud-compute-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-2 ansible_host=overcloud-controller-2 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-1 ansible_host=overcloud-controller-1 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa
overcloud-controller-0 ansible_host=overcloud-controller-0 ansible_user=heat-admin ansible_private_key_file=/home/stack/.ssh/id_rsa

[compute]
overcloud-compute-1
overcloud-compute-0

[undercloud]
undercloud

[overcloud]
overcloud-compute-1
overcloud-compute-0
overcloud-controller-2
overcloud-controller-1
overcloud-controller-0

[controller]
overcloud-controller-2
overcloud-controller-1
overcloud-controller-0
Copy to Clipboard

要生成 undercloud 和 overcloud 中所有主机的完整清单,请运行以下命令:

stack@director $ tripleo-ansible-inventory --list
Copy to Clipboard

此命令将以 JSON 格式生成详细和更新的清单。如需了解更多详细信息,请参阅 运行 Ansible Automation

SSH 参数文件

SSH 参数文件传递 Ansible 需要的必要凭据和身份验证设置,以便在每个目标主机上运行 playbook。

使用以下命令创建 SSH 参数文件(来自 /home/stack):

stack@director $ cat /home/stack/.ssh/id_rsa.pub >> /home/stack/.ssh/authorized_keys
stack@director $ echo -e "Host undercloud\n Hostname 127.0.0.1\n IdentityFile /home/stack/.ssh/id_rsa\n User stack\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n" > ssh.config.ansible
stack@director $ source /home/stack/stackrc
stack@director $ openstack server list -c Name -c Networks | awk '/ctlplane/ {print $2, $4}' | sed s/ctlplane=//g | while read node; do node_name=$(echo $node | cut -f 1 -d " "); node_ip=$(echo $node | cut -f 2 -d " "); echo -e "Host $node_name\n Hostname $node_ip\n IdentityFile /home/stack/.ssh/id_rsa\n User heat-admin\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n"; done >> ssh.config.ansible
Copy to Clipboard

这些命令将生成名为 /home/stack/ssh.config.ansible 的 SSH 参数文件,它将包含每个 overcloud 节点的特定主机连接选项。例如:

Host overcloud-controller-0
    Hostname 192.168.24.11
    IdentityFile /home/stack/.ssh/id_rsa
    User heat-admin
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat