Ansible Playbook详解
Playbook
playbook介紹
playbook 劇本是由一個或多個“play”組成的列表
play的主要功能在于將預定義的一組主機,裝扮成事先通過ansible中的task定義好的角色。Task實際是調用ansible的一個module,將多個play組織在一個playbook中,即可以讓它們聯合起來,按事先編排的機制執行預定義的動作
Playbook 文件是采用YAML語言編寫的
YAML 語言
YAMl 語言介紹
YAML是一個可讀性高的用來表達資料序列的格式。YAML參考了其他多種語言,包括:XML、C語言、Python、Perl以及電子郵件格式RFC2822等。Clark Evans在2001年在首次發表了這種語言,另外Ingy d?t Net與Oren Ben-Kiki也是這語言的共同設計者,目前很多軟件中采有此格式的文件,如:ubuntu,anisble,docker,k8s等
YAML:YAML Ain’t Markup Language,即YAML不是XML。不過,在開發的這種語言時,YAML的意思其實是:“Yet Another Markup Language”(仍是一種標記語言)
YAML 官方網站:http://www.yaml.org
YAML 語言特性
- YAML的可讀性好
- YAML和腳本語言的交互性好
- YAML使用實現語言的數據類型
- YAML有一個一致的信息模型
- YAML易于實現
- YAML可以基于流來處理
- YAML表達能力強,擴展性好
YAML語法簡介
- 在單一文件第一行,用連續三個連字號“-” 開始,還有選擇性的連續三個點號( … )用來表示文件的結尾
- 次行開始正常寫Playbook的內容,一般建議寫明該Playbook的功能
- 使用#號注釋代碼
- 縮進必須是統一的,不能空格和tab混用
- 縮進的級別也必須是一致的,同樣的縮進代表同樣的級別,程序判別配置的級別是通過縮進結合換行來實現的
YAML文件內容是區別大小寫的,key/value的值均需大小寫敏感 - 多個key/value可同行寫也可換行寫,同行使用,分隔
- v可是個字符串,也可是另一個列表
- 一個完整的代碼塊功能需最少元素需包括 name 和 task
- 一個name只能包括一個task
- YAML文件擴展名通常為yml或yaml
YAML的語法和其他高階語言類似,并且可以簡單表達清單、散列表、標量等數據結構。其結構(Structure)通過空格來展示,序列(Sequence)里的項用"-“來代表,Map里的鍵值對用”:"分隔,下面介紹常見的數據結構。
本文鏈接:http://www.yunweipai.com/34650.html
總結
以上是生活随笔為你收集整理的Ansible Playbook详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ansible常用模块详解
- 下一篇: Ansible-list-Diction