邓布利多

导航

 
  • 核心概念
    • Ansible
      Ansible的命令工具,核心执行工具;一次性或临时执行的操作都是通过该命令执行。
    • Ansible Playbook
      任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,yaml格式。
    • Inventory
      Ansible管理主机的清单,默认是/etc/ansible/hosts文件。
    • Modules
      Ansible执行命令的功能模块,Ansible2.3版本为止,共有1039个模块。还可以自定义模块。
    • Plugins
      插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。
    • API
      提供给第三方程序调用的应用程序编程接口。

每一個 play 包含了一個 task 列表(任務列表).一個 task 在其所對應的所有主機上(通過 host pattern 匹配的所有主機)執行完畢之後,下一個 task 才會執行.有一點需要明白的是(很重要),在一個 play 之中,所有 hosts 會獲取相同的任務指令,這是 play 的一個目的所在,也就是將一組選出的 hosts 對映到 task

如果一個 host 執行 task 失敗,這個 host 將會從整個 playbook 的 rotation 中移除. 如果發生執行失敗的情況,請修正 playbook 中的錯誤,然後重新執行即可.

每個 task 的目標在於執行一個 moudle, 通常是帶有特定的參數來執行.在參數中可以使用變數(variables).

modules 具有”冪等”性,意思是如果你再一次地執行 moudle(譯者注:比如遇到遠端系統被意外改動,需要恢復原狀),moudle 只會執行必要的改動,只會改變需要改變的地方.所以重複多次執行 playbook 也很安全.,所以當遠端系統被人改動時,可以重放 playbooks 達到恢復的目的. playbooks 本身可以識別這種改動,並且有一個基本的 event system(事件系統),可以響應這種改動.(當發生改動時)’notify’ actions 會在 playbook 的每一個 task 結束時被觸發,而且即使有多個不同的 task 通知改動的發生, ‘notify’ actions 只會被觸發一次.Handlers 最佳的應用場景是用來重啟服務,或者觸發系統重啟操作.除此以外很少用到了.

 

 

posted on 2020-10-26 11:03  邓布利多  阅读(87)  评论(0)    收藏  举报