我对Ansible很新,对我对local_action指令的理解有一个简单的问题
这是否意味着命令在本地完全执行?假设你有这样的事情:
local_action: command which nginx
register: check_nginx
failed_when: no
changed_when: no
Run Code Online (Sandbox Code Playgroud)
然后你有另一个块寻找nginx的存在与类似的东西:
- fail: msg="nginx unavailable"
when: check_nginx.rc == 1
Run Code Online (Sandbox Code Playgroud)
这是否意味着如果没有在本地安装nginx,或者如果没有远程安装,它会失败吗?
Kon*_*rov 30
是的,local_action是另一种做法delegate_to: localhost.
这些操作将在本地计算机(Ansible控制主机)上执行,但在变量方面仍然在远程主机的上下文中.所以你可以这样:
local_action: command ping -c 1 {{ inventory_hostname }}
Run Code Online (Sandbox Code Playgroud)
它会ping你游戏中的每个主机,但ping将从Ansible控制主机启动.
小智 5
如果你想为本地操作提供多个参数,它看起来像这样
local_action:
module: command
_raw_params: "which nginx"
register: check_nginx
failed_when: no
changed_when: no
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34120 次 |
| 最近记录: |