是否需要在Mac上为Ansible手动创建/ etc / ansible / hosts?

时间:2016-08-09 12:16:32

标签: ansible ansible-inventory

根据http://docs.ansible.com/ansible/intro_installation.html

  

运行env-setup脚本后,您将从checkout运行,默认的库存文件将是/ etc / ansible / hosts。

我是否需要创建/etc/ansible/hosts文件?

就在这下面有一个警告:

  

请注意   ANSIBLE_INVENTORY从1.9开始可用,并替换已弃用的> ANSIBLE_HOSTS

那么,我应该使用hosts文件的替代方法吗?

3 个答案:

答案 0 :(得分:3)

  

我是否需要创建/etc/ansible/hosts文件?

从技术上讲,此路径中的此文件不是Ansible运行所必需的。

调用inventory file是必需的,但它可以放在文件系统的其他位置,并在-i文件的命令行(ansible.cfg)中引用路径(在您的主目录或当前目录中)或环境变量(ANSIBLE_INVENTORY)。

在OS X上来自Homebrew的Ansible将文件放在/usr/local/etc/ansible中,以允许普通用户修改文件,而无需在/etc分支下提供帐户写入权限。

您甚至可以使用an undocumented trick来允许Ansible针对临时创建的服务器列表运行。

  
    

注意ANSIBLE_INVENTORY从1.9开始可用,并替换已弃用的ANSIBLE_HOSTS

  
     

那么,我应该使用hosts文件的替代方法吗?

此通知表示指向库存文件的环境变量的名称。它不是" 替代主机文件",它是替代ANSIBLE_HOSTS变量

a comment in the source表示更改的原因令人困惑。

Ansible社区开始将包含主机和组定义的文件称为" hosts文件",但由于它与系统主机队列具有不同的结构,因此新名称"库存"实施了。还存在一些引用(如默认文件名)。

答案 1 :(得分:1)

是, 您需要创建/ etc / ansible / hosts文件。

如果您在其他任何地方创建文件,则可以使用ANSIBLE_HOSTS,也可以在调用ansible时使用-i开关。

答案 2 :(得分:0)

是的,您需要手动创建主机文件 /etc/ansible/hosts是默认值 您可以在任何地方创建文件,并使用ANSIBLE_HOSTS环境变量指向您的文件 您也可以使用ansible.cfg文件并在那里设置主机文件的路径。