Ansible-playbook 同一组相同主机

Posted 艾克的择天记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible-playbook 同一组相同主机相关的知识,希望对你有一定的参考价值。


场景:我们需要在同一组里面执行两个host,然而我们的host IP是一样的。只是传递的变量值不同,这个时候我们该如何解决呢?


[nova-compute] 
192.168.112.48 cluster_name=compute_cluster
192.168.112.48 cluster_name=edge_cluster

第一个方法

首先我想到的方法是我只传递一次,但是我把变量的值放一起,传递到ansible的时候再用spilt分割出来
比如这样的


[nova-compute] 
192.168.112.48 cluster_name=compute_cluster,edge_cluster

这种方法确实可以解决问题,但是总觉得有点怪,代码不太正规
有没有更好的方式呢?答案是有的

有经验的程序员,会给出第二种解法


第二个方法(屌屌的)

[nova-compute] 
my_compute_cluster ansible_host=192.168.112.48 cluster_name=compute_cluster
my_edge_cluster ansible_host=192.168.112.48 cluster_name=edge_cluster

使用hostname作为ansible playbook的inventory entry key,这样这个inventory就可以执行两次。简单粗暴的解决问题。真是太棒了



以上是关于Ansible-playbook 同一组相同主机的主要内容,如果未能解决你的问题,请参考以下文章

ansible-playbook对服务器安装阿里云日志服务agent--ilogtail

ansible-playbook实例

ansible-playbook 使用详解

zabbix 取多台主机且相同键值的和

ansible-playbook

Ansible-playbook基本使用