Playbook基本语法

本节列举了写第一个Playbook,你必须了解基本语法。

随着你面临的机器越多,配置的需求越复杂,你可能需要了解后面介绍的一些稍微复杂逻辑的语句。

执行Playbook语法

  1. $ ansible-playbook deploy.yml

查看输出的细节

  1. ansible-playbook playbook.yml --verbose

查看该脚本影响哪些hosts

  1. ansible-playbook playbook.yml --list-hosts

并行执行脚本

  1. ansible-playbook playbook.yml -f 10

完整的playbook脚本示例

最基本的playbook脚本分为三个部分:

  1. 在什么机器上以什么身份执行

    • hosts
    • users
  2. 执行的任务是都有什么

    • tasks
  3. 善后的任务都有什么

    • handlers

deploy.yml文件

  1. ---
  2. - hosts: webservers
  3. vars:
  4. http_port: 80
  5. max_clients: 200
  6. user: root
  7. tasks:
  8. - name: ensure apache is at the latest version
  9. yum: pkg=httpd state=latest
  10. - name: write the apache config file
  11. template: src=/srv/httpd.j2 dest=/etc/httpd.conf
  12. notify:
  13. - restart apache
  14. - name: ensure apache is running
  15. service: name=httpd state=started
  16. handlers:
  17. - name: restart apache
  18. service: name=httpd state=restarted