Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让Ansible在本地以host作为参数运行命令_Ansible - Fatal编程技术网

如何让Ansible在本地以host作为参数运行命令

如何让Ansible在本地以host作为参数运行命令,ansible,Ansible,我使用ansible playbook在多台主机上安装了服务器。主机在清单文件中定义: [services] host_ip1 host_ip1 ... 现在,我需要使用以下命令测试每个主机是否正常工作: service-cli -h <host_ip1> -p 6380 ping ... service cli-h-p 6380 ping ... 我怎么用ansible写呢?可以肯定ansible将在本地而不是远程运行该命令,那么如何将主机ipX传递给ansible 我知道如

我使用ansible playbook在多台主机上安装了服务器。主机在清单文件中定义:

[services]
host_ip1
host_ip1
...
现在,我需要使用以下命令测试每个主机是否正常工作:

service-cli -h <host_ip1> -p 6380 ping
...
service cli-h-p 6380 ping
...
我怎么用ansible写呢?可以肯定ansible将在本地而不是远程运行该命令,那么如何将主机ipX传递给ansible

我知道如何使用delegate_to:127.0.0.1,我不知道如何获取与_项目一起使用的库存文件的ip,我应该设置哪些关键字?服务

您的用例在

-调试:
msg:service cli-h{{{item}}-p 6380 ping
带有_项:{{groups[“services”]| map(“extract”,hostvars,“ansible_host”)}
委托给:localhost
#如果希望将任务作为剧本的一部分,则需要此选项
#包含“主机:所有”
跑一次:是的
或者,作为“run_once”的替代方案,您可以将其作为自己的游戏:

-hosts:localhost
收集事实:不
任务:
-调试:
msg:service cli-h{{{item}}-p 6380 ping
带有_项:{{groups[“services”]| map(“extract”,hostvars,“ansible_host”)}
-主持人:全部
... # 现在回到正常生活

到目前为止您尝试了什么,它产生了什么错误?您是否知道
委托给:
带有项目:
关键字?嗨,mdaniel,我知道如何使用委托给:127.0.0.1,我不知道如何使用项目获取库存文件的ip,我应该设置哪些关键字?服务?谢谢@mdaniel。