Playbook 获取主机组主机数

直接上列子吧:

比如有如下的一个hosts文件,我分别想获取主机组master、node、cluster的主机数量

[master]
192.168.100.28 host_id=1
192.168.100.29 host_id=2
192.168.100.30 host_id=3

[node]
192.168.100.31 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='root' host_id=4

[all:vars] # 定义全局变量
ansible_ssh_private_key_file=/root/.ssh/id_rsa
ansible_ssh_port=22
ansible_ssh_user=root

[master:vars] # 定义 master 组变量
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass='root'

[node:vars] # 定义 node 组的变量
mysql_port=3806


[cluster:children]
master
node

全局变量这样定义:

Master_Count: "{{ groups['master'] | length }}"
Node_Count: "{{ groups['node'] | length }}"
Cluster_Count: "{{ groups['cluster'] | length }}"

得到结果分别是:3、1、4

Last updated