ansible(四) Playbook中變數使用
阿新 • • 發佈:2018-12-13
Playbook中變數使用
變數名:僅能由字母、數字和下劃線組成,且只能以字母開頭 變數來源:
- ansible setup facts 遠端主機的所有變數都可直接呼叫
- 在/etc/ansible/hosts中定義
利用setup模組,簡單呼叫幾個變數
主機名變數:ansible_fqdn cpu變數:ansible_processor_vcpus 版本號變數:ansible_distribution_major_version
示例:編寫playbook實現目標主機生成 主機名.log 的空檔案
#vim vars.yml --- - hosts: websrvs remote_user: root tasks: - name: create log file file: name=/data/{{ ansible_fqdn }}.log state=touch
使用-e 進行自定義變數
ansible-playbook –e varname=value -e自定義變數的優先順序高於setup呼叫的變數 一次性對多個變數賦值:ansible-playbook -e 'ansible_fqdn="testfile" pname=samba' vars.yml
對主機清單中的變數
--- - hosts: websrvs remote_user: root tasks: - name: create log file file: name=/data/{{ http_port }}.log state=touch - name: install package yum: name={{pname}}
#ansible-playbook -e pname=samba vars.yml 對目標主機安裝samba,並分別生成對應http_port.log為檔名的空檔案
設定主機清單中的通用變數
該設定為websrvs主機清單設定通用變數mark
在playbook中設定變數
還可將所有變數存放在一個專門的yml檔案中。
【優先順序次序:-e > playbook > yml > host】