当前位置: 首页 > 知识库问答 >
问题:

ansible-分组主机在group_vars目录中查找哪个文件?

暴辰龙
2023-03-14
[group_1]
host_1
host_2

[group_2]
host_3
host_4

/inventory/group_vars/directory有

/inventory/group_vars/host_1.yml
/inventory/group_vars/host_2.yml
/inventory/group_vars/host_3.yml
/inventory/group_vars/host_4.yml

我希望host_1引用/inventory/group_vars/host_1.yml中的变量

共有1个答案

淳于坚壁
2023-03-14

对于主机变量,使用host_vars目录,对于组变量,使用group_vars

在您的情况下,有效路径是:

/inventory/group_vars/all.yml
/inventory/group_vars/group_1.yml
/inventory/group_vars/group_2.yml
/inventory/host_vars/host_1.yml
/inventory/host_vars/host_2.yml
/inventory/host_vars/host_3.yml
/inventory/host_vars/host_4.yml

在Ansible的不同版本中(如果我没记错的话),vars文件是按照字母顺序或组嵌套顺序处理的,所以您最好尝试一下以确定。我认为在您的示例中,将首先应用all.yml中的var,然后应用groupn.yml,然后应用hostn.yml中的var。

 类似资料:
  • 我有一个假的怀疑让我卡住了很长时间。我有一个非常平庸的包含主机和变量的清单文件: 问题是我需要从group_vars/all文件访问清单文件中的所有这些主机和变量。 我尝试了以下方式来访问主机IP: 为了访问主机变量,我尝试了: 问题:在变量文件中使用清单文件中声明的主机,比方说:group_vars/all。 示例:我有一个DB主机,。 库存文件: 问题是group_vars/all文件中的变量

  • 我正在寻找一种方法,当组位于单独的目录中时,可以在Ansible playbook中将多个组指定为主机(这与此问题类似,但不同,因为该问题假设只有一个目录)。 假设我有一个名为的剧本。有时我想在、有时、有时等方面进行更改: 。 假设有单独的库存,大致如下所示: 当未显式指定时,上面的剧本无法运行。 null 我正在寻找一种方法来维护单独的主机清单,但创建剧本的方式,他们可以执行对主机组的多个组合。

  • 我需要分析来自多个主机的nginx日志文件。 首先,我想将它们复制到主机目录。例如,我希望将nginx错误日志文件从6台主机复制到目标主机目录。 问题是我不能知道如何使用源ip地址命名dest文件?

  • 什么是 Host Inventory ( 主机目录 、主机清单)? Host Inventory 是配置文件,用来告诉Ansible需要管理哪些主机。并且把这些主机根据按需分类。 可以根据用途分类:数据库节点,服务节点等;根据地点分类:中部,西部机房。 Host Inventory 配置文件: 默认的文件是: /etc/ansible/hosts 可以修改为其它的文件,下一章Ansible进阶中介

  • 我一直试图使用Ansible Playbook将主机名添加到我的主机文件中。我的Ansible播放如下所示,我的主机文件位于: Playbook成功执行,但新主机名没有添加到Ansible hosts文件中。有人能帮我吗?