一、ansible介紹
二、ansible架構
架構圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iYmZmZkZWY5QmM5EzMyY2N3AjM1MjM1ITZmljY2MDMy8CX1EzLcJTM5EDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLxM3Lc9CX6MHc0RHaiojIsJye.png)
ansible核心子產品介紹:
core models: ansible自帶的子產品,file,shell,copy等
custom models: ansible自帶子產品不足以滿足工作需要時,使用者添加擴充子產品
host inventory: 由ansible 管理的主機,包括主機名,ip,端口等
playbook: yaml格式檔案,多任務定義在一個yaml檔案中,主要定義哪些功能由哪些子產品完成,順序執行
connection plugins: ansible通過該插件連接配接到各個目标主機,内部預設使用paramiko子產品ssh協定來完成
三、ansible特性
被管理端無需安裝agnet,隻要配置滿足條件的python版本,和ssh服務
no server 隻需要安裝ansible軟體,配置完之後,指令行完成工作
可以基于任何語言開發新子產品
由于被控端沒有安裝agent軟體,隻能通過指令端推送任務
子產品是幂等性的,定義的任務已存在則不會做任何事情,意味着在同一台伺服器上多次執行同一個playbook和執行一次,效果一樣
四、ansible執行任務模式
1.ad-hoc模式
單子產品,批量執行單條指令
2.playbook模式
批量執行多個任務,多個任務完成一個大的功能,相當于多個ad-hoc的配置檔案
五、工作流程