1

这里 有一句话:

提示:在 Ansible 1.2 或更高版本中,group_vars/ 和 host_vars/ 目录可以存在于 playbook 目录或 inventory 目录中。如果两个路径都存在,则 playbook 目录中的变量将覆盖清单目录中设置的变量。

我该如何定义:

  • 剧本目录
  • 库存目录

我不知道这种配置,似乎在我使用 Ansible 的过程中,我总是有一个目录,它同时位于 playbook 目录和库存目录中,但这种分离可能很有用。

4

2 回答 2

8

您可以通过指向文件、脚本或目录来指定清单:

  • 在命令行中:

    ansible-playbook playbook.yml -i /path/to/inventory
    
  • ansible.cfg

    inventory = /path/to/inventory
    

    无论您使用哪个选项,库存目录都将是存储使用过的库存文件的目录。

剧本目录只是存储剧本的目录。

于 2017-04-11T10:55:55.197 回答
1

@Miklos Kosarkar,我知道这是一篇旧帖子,但从未有人回答。默认情况下,Ansible 在查找清单文件时会忽略某些文件扩展名。这是在 ansible.cfg 的 [inventory] ​​部分中设置的。

[inventory]
# enable inventory plugins, default: 'host_list', 'script', 'auto', 'yaml', 'ini', 'toml'
#enable_plugins = host_list, virtualbox, yaml, constructed

# ignore these extensions when parsing a directory as inventory source
#ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry

# ignore files matching these patterns when parsing a directory as inventory source
#ignore_patterns=

# If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise.
#unparsed_is_failed=False
于 2020-11-21T00:20:09.130 回答