二、Ansible中playbook的變量
阿新 • • 發佈:2017-05-16
yml -1 images span etc clas spa vim 變量 先看看debug模塊的使用:
msg:輸出調試信息
var:將某個任務執行的輸出作為變量傳給debug模塊,debug模塊將其打印輸出
verbosity:debug的任務級別
1:在playbook中直接使用
方式一:
--- - hosts: db vars: vvv: china tasks: - name: test var debug: msg="The variable ‘vvv‘ is {{ vvv }}"輸出結果: 2:在文件中定義
--- - hosts: db vars_files:- vars.yml tasks: - name: test var in file debug: msg="The variable ‘kk‘ is {{ kk }}"
變量文件:
---
kk: lile
執行結果: 3:在hosts文件中定義 /etc/ansible/hosts 中定義組變量或者單個主機的變量
[db] 10.0.0.147 pp=ppppppp [db:vars] mm=heiheihei
--- - hosts: db tasks: - name: test hosts group var debug: msg="The Variable ‘mm‘ is {{ mm }}" - name: test singer var debug: msg="The Variable ‘pp‘ is {{ pp }}"
執行結果: 4:在/etc/ansible目錄下創建group_vars與hosts_vars mkdir /etc/ansible/group_vars mkdir /etc/ansible/hosts_vars 想定義組變量時,以組的名字命名創建一個文件,然後把變量寫在裏面 如:定義db組的變量 在/etc/ansible/group_vars這裏創建db文件 vim db
---
tt: yyyyyyyyyyyyy
然後就可以使用了
--- - hosts: db tasks: - name: test /etc/ansible/group_vars debug: msg="The variable ‘tt‘ is {{ tt }}"執行結果: 5:在host_vars中是同樣的,只有一需要定義變量的那臺主機命名就可以。 6:hostvars從一臺遠程主機獲取另一臺遠程主機的變量
方式一:
--- - hosts: db tasks: - debug: msg="Variable ‘tt‘ is set to {{ hostvars[‘10.0.0.146‘][‘ttt‘] }}"輸出結果: 方式二:
--- - hosts: db tasks: - name: test hostvars debug: var=hostvars[‘10.0.0.146‘][‘ttt‘]輸出結果:
二、Ansible中playbook的變量