gpt4 book ai didi

Ansible:如何在临时命令中使用库存变量

转载 作者:行者123 更新时间:2023-12-02 04:08:09 31 4
gpt4 key购买 nike

我想在主机文件上运行临时命令,在主机文件中我为每个主机定义了一个变量,如何在执行临时命令时使用该变量。

例如:

ansible -i /home/bob/hosts_file -m shell -a "$VAR/project run"

我已经在“hosts_file”中为每个主机定义了$VAR,$VAR 对于库存文件中的每个主机都是不同的。如何在执行时在临时命令中使用该变量替换每个主机。

最佳答案

使用 Ansible 即席命令,ansible 无论如何都可以使用所有相同的变量。

示例

#1。组名
$ ansible -i inventory/lab -m debug -a "var=group_names" all | head -10
es-master-01.mydom.local | SUCCESS => {
"group_names": [
"elasticsearch",
"engineering",
"lab",
"lab-es-master"
]
}

在这里,我查询 list 中的服务器,以找出该服务器在 list 文件中分配给哪些组。此变量 group_names 从我的库存文件中显示了这一点。

#2。库存主机名

这是另一个示例,其中我使用变量 inventory_hostnames 并使用 Jinja 表示法访问它:

$ ansible -i inventory/nyc1 -l ocp-app* all -c local -m shell -a "echo {{ inventory_hostname }}"
ocp-app-01e.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01e.nyc1.dom.us

ocp-app-01c.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01c.nyc1.dom.us

ocp-app-01d.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01d.nyc1.dom.us

ocp-app-01a.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01a.nyc1.dom.us

ocp-app-01b.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01b.nyc1.dom.us

ocp-app-01f.nyc1.dom.us | CHANGED | rc=0 >>
ocp-app-01f.nyc1.dom.us

关于Ansible:如何在临时命令中使用库存变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068982/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com