前言

  1. 外掛 (plugins)
    1. 外掛是增強 ansible 核心功能的代碼片段。
    2. ansible 使用外掛來實現豐富、靈活及可擴展的功能集。
    3. Ansible 提供許多方便的外掛,例如:action, cache, callback, inventory, lookup, shell, vars,若無法滿足需求,也可自行編寫外掛。
    4. 外掛與模組不同,只在 Ansible 控制節點上本地運行。例如:在 Ansible 控制節點任何時間都可以運行模組,是因為先運行了 action 外掛。
    5. ansible 外掛文件
  2. 角色 (roles)
    1. 很多時候希望有部分的部署內容是可以被其他不同的 playbook 重新使用,但卻不希望在每一個不同的 playbook 中都要重新定義一次。
    2. Ansible 提供了角色 (role) 的概念,可以透過撰寫客製的 role 來讓所有 playbook 重複使用。
    3. role 根據檔案結構自動載入變數檔 (vars_files)、任務 (tasks)、善後程序 (handlers)。
  3. 內容集 (collections)
    1. 以往模組開發者必須等模組被標記在 ansible 發行版中,或者將模組加到角色。
    2. 內容集 (Collections) 是 Ansible 內容的分發 (distribution) 格式,內容包括特定主題的 playbooks, roles, modules 及 plugins。
    3. 內容集採用一致的格式,讓內容集開發者將 modules, plugins, roles, playbooks 綁在一起交付,並讓用戶能在單一位置使用這些內容。
    4. 內容集的發布及維護獨立於 ansible 發行版本,內容的更新可以更頻繁快速。