14.3. 对单个容器执行操作
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
您可以使用 tripleo-container-manage 角色来管理所有容器或特定容器。如果要管理特定容器,您必须找到容器部署步骤和容器配置 JSON 文件的名称,以便可以利用自定义 Ansible playbook 针对特定容器进行管理。
先决条件
- 成功安装 undercloud。更多信息请参阅 第 4 章 在 undercloud 上安装 director。
步骤
-
以
stack用户的身份登录 undercloud。 查找
overcloudrc凭证文件:source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
找到容器部署步骤。您可在
/var/lib/tripleo-config/container-startup-config/step_{1,2,3,4,5,6}目录中找到每个步骤的容器配置。 -
找到容器的 JSON 配置文件。您可以在相关的
step_*目录中找到容器配置文件。例如,第 1 步中的 HAProxy 容器的配置文件为/var/lib/tripleo-config/container-startup-config/step_1/haproxy.json。 编写合适的 Ansible playbook。例如,要替换 HAProxy 容器镜像,请使用以下示例 playbook:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关您可以在
tripleo-container-manage角色中使用的变量的更多信息,请参阅 第 14.4 节 “tripleo-container-manage 角色变量”。运行 playbook:
ansible-playbook <custom_playbook>.yaml
(overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要在不应用任何更改的情况下执行 playbook,请在
ansible-playbook命令中包含--check选项:ansible-playbook <custom_playbook>.yaml --check
(overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要在不应用更改的情况下识别 playbook 对容器的更改,请在
ansible-playbook命令中包含--check和--diff选项:ansible-playbook <custom_playbook>.yaml --check --diff
(overcloud) [stack@director]$ ansible-playbook <custom_playbook>.yaml --check --diffCopy to Clipboard Copied! Toggle word wrap Toggle overflow