【发布时间】:2015-06-14 23:23:21
【问题描述】:
我正在使用 ansible 在 EC2 上配置服务器,使用动态库存和精确计数。这让我可以在需要时放大/缩小,这很好。
现在,当我配置它们时,我需要在每台服务器上的环境中添加一个唯一变量。我想到的一种方法是使用这样的库存文件:
[ec2-servers]
host1 myvar=abc
host2 myvar=def
...
host1(2) 以某种方式通过 tag_SomeName_host1 或类似方式引用相关的 EC2 实例。
但这与我当前配置服务器的方式无关。具有exact_count 的动态库存为我提供了一组相同的克隆服务器。
有没有一种方法可以在我的库存文件中定义服务器,如果它不存在,可以在 ec2 中进行 ansible 配置,如果服务器存在于 ec2 但库存中不存在,则将其删除?
例如
我第一次使用库存运行我的剧本:
[ec2-servers]
host1 myvar=1
然后我需要扩大规模以便编辑库存:
[ec2-servers]
host1 myvar=1
host2 myvar=2
ansible 忽略已经存在的 host1,然后为 host2 提供一个实例。
然后我不再需要额外的服务器,所以修改库存:
[ec2-servers]
host1 myvar=1
ansible 从 ec2 中删除 host2。
【问题讨论】:
标签: amazon-web-services amazon-ec2 ansible