inventory分组

定义主机和组

Inventory配置文件遵循INI文件风格,中括号中的字符串为组名。一个Inventory文件中可以定义多个主机和组,主机可以归属于不同的组。在定义主机时,可以使用IP地址或主机名,如果使用主机名,则可以使用冒号加端口号来指定非默认的ssh端口

子组

子组(child_groups)是组(group)的一个属性,表示一个组中的子组列表。子组的概念用于表示组之间的层次关系,以便更好地管理和组织主机。

当一个组中包含其他组时,这些被包含的组就被称为子组。子组可以嵌套在其他组中,形成多级组结构。子组中的主机将继承父组的变量和属性。

在Inventory配置文件中,可以使用中括号将组包含在另一个组的下面,以表示它们之间的父子关系。

cat /etc/ansible/hosts

01
[k8s]
10.0.0.65
10.0.0.12
10.0.0.88
[nfs]
10.0.0.65
[web]
10.0.0.12
[db]
10.0.0.88
[data:children]
nfs
web
db

使用

注意,只要在ansible的hosts文件中出现的主机、主机组,都可以直接使用

使用IP

ansible 10.0.0.88 -m ping

Ansible学习笔记06:主机组_ansible

使用主机组

ansible data -m ping

Ansible学习笔记06:主机组_ansible_02

使用主机名(上文中的ngx01主机在/etc/hosts中做了定义),即便该主机没有在主机组中,也可以使用

ansible ngx01 -m ping

Ansible学习笔记06:主机组_ansible_03