ansible - 如何在 Ansible Playbook 中循环遍历 Ansible 库存但针对 localhost 运行
问题描述
我在名为 [WEB] 的 hosts 文件中有一个清单,它由以下服务器组成。
[WEB] WEB01 WEB02 WEB03
当我声明 hosts: WEB 时,它将遍历每个服务器并在相应的服务器上本地运行以执行它需要的操作。
在运行 ansible-playbook FILE.YML 时,如何获取相同的清单,但在本地 Ansible 服务器上运行我想做的事情?例如,我想运行一个将 Web 服务器名称作为参数的 URI 命令,但如前所述,在本地 Ansible 服务器上运行它以 POST 到外部网站。这不需要在网络服务器本身上运行,但我想获取网络服务器名称(WEB01、WEB02、WEB03)并运行 URI 模块以发布到站点。
谢谢!
解决方案
您可以使用 with items 遍历主机名变量并将其委托给本地主机。
或者
如果您不想对 web 组中的主机执行任何操作,则可以在清单中的变量中定义它,然后应用项目。将主机指定为主机:localhost
推荐阅读
- arrays - 求和 < k 的 n 个连续数的最大和
- imagemagick - OCR 扫描图像 (.jpg) 文件然后使用已扫描的文本自动重命名它们?
- python - 如何使用脚本切换用户?
- java - DTO 对象中的@Autowire - 产生 NullPointerException
- flutter - 如何正确实现 StreamBuilder
- ruby - 为什么 bundler 选择了错误的 ruby 版本?
- tensorflow - Tensorboard 错误:无法启动 TensorBoard(以 1 退出)。标准错误的内容:
- angular - Angular多次调用云函数
- javascript - 实现全日历时全日历功能出错
- java - 如何解决在我的 logcat 中尝试获取空数组长度的问题?