Ansible playbooks 介紹

Playbook 從字面上的意思為劇本。我們可以透過事先寫好的劇本 (Playbooks) 來讓各個 Managed Node 進行指定的動作 (Plays) 和任務 (Tasks) 。使用 YAML格式來撰寫,可使用Jinja2表達式,支援變數、判斷式語句、迴圈等語法。
* 一份playbooks可以有多個play、Task及多個Module
* play:通常為某個特定目的而建立,如:Setup a official website with wordpress、Restart the API service
* Task:要實行play這個目的所需要執行的步驟,如:Install apache、Install DB等
* Module:ansible 提供的操作方法,如:apt: name=vi state=present(使用apt安裝最新版vi套件)
* 詳情請參考官方的 Playbooks | Ansible Documentation 文件

Hello World

請使用文書編輯軟體建立 hello_world.yml

---

- name: say 'hello world'
  hosts: all
  tasks:

    - name: echo 'hello world'
      command: echo 'hello world'
      register: result

    - name: print stdout
      debug:
        msg: "{{ result.stdout }}"
  • 執行 hello_world.yml
ansible-playbook hello_world.yml