Ansible 使用主机列表并对列表中的每个主机在一台主机上运行命令
我试图弄清楚如何在Ansible中使用主机资源清册,并对每个主机运行命令,但只能在其中一个主机上运行 例如 如果我的库存文件如下所示:Ansible 使用主机列表并对列表中的每个主机在一台主机上运行命令,ansible,Ansible,我试图弄清楚如何在Ansible中使用主机资源清册,并对每个主机运行命令,但只能在其中一个主机上运行 例如 如果我的库存文件如下所示: [data] data1 data2 data3 [meta] meta1 meta2 meta3 meta4 我试图在节点data1上运行类似的操作: - name: Run this on data1 command: "someCmd.sh -arg1 {{ item }}" with_items: - "data1" - "d
[data]
data1
data2
data3
[meta]
meta1
meta2
meta3
meta4
我试图在节点data1
上运行类似的操作:
- name: Run this on data1
command: "someCmd.sh -arg1 {{ item }}"
with_items:
- "data1"
- "data2"
- "data3"
- "data4"
我知道我不会那样明摆着拿到名单只是想展示我想做什么。那么,我如何循环查看
数据列表
主机并运行命令呢?我不确定是否正确理解了描述,但以下似乎是答案:
- name: Run this on data1
command: "someCmd.sh -arg1 {{ item }}"
delegate_to: data1
run_once: true
with_items:
- "{{ groups['data'] }}"
您应该使用变量,并在您的剧本中使用适当的主机。比如:
- hosts: data1
tasks:
- name: Run this on data1
command: "someCmd.sh -arg1 {{ item }}"
with_items: "{{ groups['data'] }}"