playbook(劇本)是ansible管理配置、部署應用和編排的文件,可用來描述你想在被控主機上執行的策略或者一組任務等。
playbook是用YAML語言編寫的。所有的yaml文件都以"---"開頭表示開始一個document,所有的列表元素以"-"開頭,鍵值對用":",后面的空格是必須的。
舉一個示例進行說明:
--- - name: deploy docker run hosts: demo-autodeploy remote_user: root become: yes become_user: root become_method: sudo tasks: - name: test shell shell: yum install nginx -y
- hosts: demo-autodeploy #hosts用於指定要執行指定任務的主機,其可以是一個或多個由逗號分隔主機組;在/etc/ansible/hosts中定義
- remote_user: root #在遠程主機上以哪個用戶身份執行
- become: yes #是否允許身份切換
- become_method: sudo #切換用戶身份的方式,有sudo、su、pbrun等方式,默認為sudo
- become_user: root #切換成什么用戶身份,默認為root
以上remote_user、become、become_method、become_use選項不僅可用於全局,也可用於各task中
remote_user、become、become_method、become_user分別對應inventory文件中的ansible_user、ansible_become、ansible_become_method、ansible_become_user
如果需要指定切換用戶身份時的密碼,可在執行ansible-playbook時使用選項 --ask-become-pass指定
更多參考博客:http://blog.51cto.com/9124573/1769887
更多ansible-playbook學習 http://blog.51cto.com/msiyuetian/1752326