一。yaml語法:
1. yaml語法編寫
1.1 同層級的字段通過相同縮進表示
1.2 map結構里面key/value用‘:’來分隔
1.3 key/value可以同行寫,也可以換行寫,換行寫必須以“-”來分隔
1.4 區分大小寫
1.5 數組可以用 []
1.6 hash可以用{}
2. yaml語法注意事項:
2.1 字符串不一定要用雙引號
2.2縮進中空格的數量不重要,關鍵是需要相同數量的空格,即同層級的字段需要左對齊
2.3不能用Tab字符
3. 下面一個yaml文件的兩種寫法,幫助理解其格式和語法

二。playbook語法:
1. 需要以‘---’開始,並頂行首寫
2. 使用#號寫注釋代碼
3. 次行建議寫注釋,說明功能
4. 相同層級的字段,具備相同的縮進
5. 程序判斷配置的級別是通過縮進結合換行來實現的
6. 一個name只能包括一個task
三。playbook實用小技巧
1. --limit參數:
ansible-playbook xxx.yaml --limit webserver
此參數將無視文件里的host字段,僅對Inventory里的webserver操作
2. --list-hosts
ansible-playbook xxx.yaml --list-hosts
羅列出執行yaml文件時,生效的host,方便了解受影響的范圍
3. --remote-user
在playbook中,如果host里沒有定義user,那么將實用Inventory里的定義的用戶,如果Inventory里也沒有定義的話
ansible將默認使用當前系統用戶身份來通過ssh遠程主機中,運行playbook的的內容
當然,也可以通過--remote-user來指定ssh遠程主機及執行命令的賬號
4. --inventory=PATH,指定inventory的路徑
5. -vvvv,精確顯示每分鍾的輸出
6. --extra-vars=VARS,定義在playbook里使用的變量
7.--forks=NUM,指定並發執行的任務數量,默認為5
8.--checke 檢測模式,Playbook的所有任務在每台主機上進行檢測,但不真正執行
四。 樣例見下面的博客:
https://blog.csdn.net/chengyuqiang/article/details/78529454
