我们已经将 Apache 设置成 chrooted,因此我们可以在单个目录中为多个 httpd 实例设置多个 apache。我已在清单中添加了所有具有实例名称的不同组,但它们的主机相同。
当我在一个 httpd 实例上运行任务时,即使所有组中的主机都相同,它也会采用不同组的组变量。
答案1
这个答案可以帮助: 使用 group_vars 在不同的组上使用 Ansible 同一主机
尝试在每次需要时使用“vars_files”覆盖主机变量:
hosts: {{ group_name }}
vars_files:
- group_vars/{{ group_name }}.yml
tasks:
答案2
我已经采取了另一种解决方法。
我添加了/etc/hosts
具有不同主机名但具有相同 IP 的条目,如下所示。
10.0.0.2 apache1
10.0.0.3 apache2
10.0.0.2 newapache1
10.0.0.3 newapache2
我还添加了如下所示的库存
[apache]
apache1
apache2
[newapache]
newapache1
newapache2
使用相同的名称,您可以为同一台服务器创建具有不同详细信息的 groupvars。
这不是正确的解决方案,但对于小型设置来说,它的效果很好。