我使用Vagrant创建EC2虚拟机并且可以配置它们。我使用this guide以及库存的ec2.py
脚本。
我目前正在配置一个带有ansible的主机,我已经给了一个名为Purpose
的标签(让我们说这个值是"机器用途")所以我可以在我的ansible文件中执行此操作(ec2.py
脚本提供此功能):
- hosts: tag_Purpose_Machine_Purpose
我的问题是,如果我想添加另一台服务器,并且我想配置它,我无法使用vagrant provision server2
来执行此操作,因为这将运行ansible脚本,该脚本将与第一个匹配也是主持人,并提供一个。
我想避免的原因是,即使ansible指令大部分是幂等的,并非所有指令都是,所以我将不必要地在node1上移动一些文件等,更重要的是,还要重启已经运行的服务那里。
有没有办法让ansible只配置我在命令行中指定的服务器?
答案 0 :(得分:1)
您可以使用参数--limit
限制Ansible游戏。它没有很好的文档,但您可以提供组名和主机名。
ansible-playbook ... --limit hostA
也可以用逗号分隔多个主机名:
ansible-playbook ... --limit hostA,hostB,hostC
答案 1 :(得分:0)