合并两个默认的 Ansible 主机文件,其中一个是 ec2.py?

Combine two default Ansible host files including one being ec2.py?

我使用的 Ansible 是 AWS 和非 AWS 机器的混合环境。我想避免在命令行上传递主机。如何在 Ansible 中组合多个主机文件并将其设为默认文件? Ansible 站点上的当前建议是用 ec2.py 覆盖 /etc/ansible/hosts。这使我无法添加其他主机。谢谢

您可以混合使用动态和静态清单文件,方法是创建一个目录并将 ec2.py 放入其中,加上您的 ini 格式的清单列表作为一个单独的文件。 它在文档 here.

中被简要提及
for example:

  ./inventory/ec2.py
  ./inventory/additional-hosts

  ansible-playbook ... -i inventory/

请注意,任何设置了可执行位的文件都将被视为动态清单,因此请确保您的文件具有正确的权限。