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 同一组相同主机)