#
# playbook 默認已經(jīng)內(nèi)置了變量卢厂,通過這些變量可以進行主機相關(guān)的判斷了。
#
-
- groups 和 group_names:
groups:
groups 變量是一個全局變量硫眨,引用了inventory文件里所有的額主機以及主機組信息
它返回的是一個json字符串足淆。
playbook中通過{{ groups }}或是{{ groups.屬性}}的方式來引用group_names:
group_names引用當(dāng)前主機所在的group的名稱
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
...
-
- hsotvars:
- hostvars 可以用來引用指定主機的信息
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
- debug: msg="{{hostvars['ansible1']['ansible_default_ipv4']['address']}}"
...
-
- inventory_hostname 和 inventory_hostname_short
- inventory_hostname 變量返回inventory 文件里面定義的主機名
- inventory_hostname_short 返回inventory文件中主機名的第一部分
-
- play_hosts 和 inventory_dir
- play_hosts 返回當(dāng)前playbook運行的主機信息,格式是host list結(jié)構(gòu)
- inventory_dir 變量返回當(dāng)前playbook使用的inventory目錄