12.4. 运行动态清单脚本
director 可在 OpenStack Platform 环境中运行基于 Ansible 的自动化。director 使用 tripleo-ansible-inventory
命令在您的环境中生成动态的节点清单。
步骤
要查看动态的节点清单,请在 source
stackrc
之后运行tripleo-ansible-inventory
命令:$ source ~/stackrc (undercloud) $ tripleo-ansible-inventory --list
--list
选项返回有关所有主机的详细信息。此命令以 JSON 格式输出动态库存清单:{"overcloud": {"children": ["controller", "compute"], "vars": {"ansible_ssh_user": "heat-admin"}}, "controller": ["192.168.24.2"], "undercloud": {"hosts": ["localhost"], "vars": {"overcloud_horizon_url": "http://192.168.24.4:80/dashboard", "overcloud_admin_password": "abcdefghijklm12345678", "ansible_connection": "local"}}, "compute": ["192.168.24.3"]}
要在您的环境中实施 Ansible playbook,请运行
ansible
命令,并使用-i
选项包括动态清单工具的完整路径。例如:(undercloud) $ ansible [HOSTS] -i /bin/tripleo-ansible-inventory [OTHER OPTIONS]
用要使用的主机类型替换
[HOSTS]
。例如:-
controller
,适用于所有 Controller 节点 -
compute
,适用于所有 Compute 节点 -
overcloud
,适用于所有 overcloud 子节点,例如controller
和compute
-
undercloud
,适用于 undercloud -
"*"
,适用于所有节点
-
用其他 Ansible 选项替换
[OTHER OPTIONS]
。以下是一些有用的选项:-
--ssh-extra-args='-o StrictHostKeyChecking=no'
,用于跳过主机密钥检查确认操作。 -
-u [USER]
,用于更改执行 Ansible 自动化的 SSH 用户。默认的 overcloud SSH 用户由动态清单中的ansible_ssh_user
参数自动定义。-u
选项会覆盖此参数。 -
-m [MODULE]
,使用特定的 Ansible 模块。默认为command
,用于执行 Linux 命令。 -
-a [MODULE_ARGS]
,为选定的模块定义参数。
-
重要
overcloud 上的自定义 Ansible 自动化不是标准 overcloud 堆栈的一部分。后续执行 openstack overcloud deploy
命令可能会覆盖 overcloud 节点上的 OpenStack Platform 服务的基于 Ansible 的配置。