我对 Ansible 很陌生,有一个简单的问题来了解我的理解local_action
指示。
这是否意味着该命令完全在本地执行?假设你有这样的东西:
local_action: command which nginx
register: check_nginx
failed_when: no
changed_when: no
然后你有另一个块寻找 nginx 的存在,类似于:
- fail: msg="nginx unavailable"
when: check_nginx.rc == 1
这是否意味着如果 nginx 未在本地安装,playbook 将失败,或者如果未远程安装,playbook 将失败?
Yes, local_action
是另一种做法delegate_to: localhost
.
这些操作将在本地计算机(Ansible 控制主机)上执行,但就变量而言仍然处于远程主机的上下文中。所以你可以这样:
local_action: command ping -c 1 {{ inventory_hostname }}
这将 ping 游戏中的每个主机,但 ping 将从 Ansible 控制主机发起。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)