Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible 具有主机名和IP地址模式的资源清册_Ansible_Ansible Inventory - Fatal编程技术网

Ansible 具有主机名和IP地址模式的资源清册

Ansible 具有主机名和IP地址模式的资源清册,ansible,ansible-inventory,Ansible,Ansible Inventory,我正在使用vmware\u guest模块创建一组虚拟机 主机名和IP地址是否都要使用模式? 例如,我想创建5个主机名为/IP的主虚拟机,如: master110.123.0.1 master210.123.0.2 master310.123.0.3 等等 因此,清单yaml包含以下内容: 全部: 儿童: 埃尔维斯: 儿童: 主节点: 主持人: 大师[1-5]: ansible_主机:10.123.0。[1-5] slaveNodes: 主持人: 从[1-10]: ansible_主机:1

我正在使用
vmware\u guest
模块创建一组虚拟机

主机名和IP地址是否都要使用模式?

例如,我想创建5个主机名为/IP的主虚拟机,如:

  • master1
    10.123.0.1
  • master2
    10.123.0.2
  • master3
    10.123.0.3
  • 等等
因此,清单yaml包含以下内容:

全部:
儿童:
埃尔维斯:
儿童:
主节点:
主持人:
大师[1-5]:
ansible_主机:10.123.0。[1-5]
slaveNodes:
主持人:
从[1-10]:
ansible_主机:10.124.0。[1-10]


另外,是否有办法为特定的
家长:孩子
组运行剧本?
我如何才能只为
Elvis:masterNodes
播放剧本?例如,如果同一个清单yaml有另一个父子组
Bono:masterNodes

主机名和IP地址是否都要使用模式

不需要。相反,Ansible允许运行脚本来生成资源清册——在Python中实现一个循环来填充资源清册主机名和IP地址是很简单的(显然,早在年就明确了这一点,尽管在有人建议的同一线程中)

另外,是否有一种方法可以为特定的父组:子组运行剧本

否。易变库存中没有层次结构;名称空间是扁平的;没有儿童群体;Ansible对主机/组集进行操作

实际上,您不能有具有相同名称的不同(子)组。这些(子)组的内容将被合并。因此,如果
Elvis
包含一个组
masterNodes
,并且您使用
hosts:Elvis
声明执行一个play,它将在为
masterNodes
定义的所有主机上运行(包括在
Bono:masterNodes
中)