常用自動化運維工具
cfengine
chef
puppet基於ruby開發,採用c/s架構,擴充套件性強,基於ssl認證
saltstack基於python開發,採用c/s架構,相對於puppet更輕量級,配置語法採用ymal,是的配置指令碼更為簡單
ansible基於python開發,分布式,無需客戶端,可以通過ssh互信管理,輕量級,配置語言採用ymal
為什麼選擇ansible
相對於puppet和saltstack、ansible無需客戶端,更輕量級
ansible甚至都不用啟動服務,僅僅只是乙個工具,可以很輕鬆的實現分布式擴充套件
更強的遠端命令執行操作
不輸於puppet和saltstack的其他功能
ansible基本結構
4.ansible基本組成
核心:ansible
核心模組(core modules):這些都是ansible自帶的模組
擴充套件模組(custom modules):如果核心模組不足以完成某種功能,可以新增擴充套件模組
外掛程式(plugins):完成模組功能的補充
劇本(playbooks):ansible的任務配置檔案,將多個任務定義在劇本中,由ansible自動執行
連線外掛程式(connectior plugins):ansible基於連線外掛程式連線到各個主機上,雖然ansible是使用ssh連線到各個主機的,但是它還支援其他的連線方法,所以需要有連線外掛程式
主機群(host inventory):定義ansible管理的主機
5.ansible工作原理
ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。
ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種框架。主要包括:(1)、連線外掛程式connection plugins:負責和被監控端實現通訊;(2)、host inventory:指定操作的主機,是乙個配置檔案裡面定義監控的主機;(3)、各種模組核心模組、command模組、自定義模組;(4)、借助於外掛程式完成記錄日誌郵件等功能;(5)、playbook:劇本執行多個任務時,非必需可以讓節點一次性執行多個任務。
ansible命令引數介紹
ansible命令引數介紹 m 要執行的模組,預設為command a 模組的引數 u ssh連線的使用者名稱,預設用root,ansible.cfg中可以配置 k 提示輸入ssh登入密碼。當使用密碼驗證的時候用 s sudo執行 u sudo到那個使用者,預設為root k 提示輸入sudo密碼,...
Ansible 外掛程式 操作介紹
一 ansible 外掛程式 之 統計任務處理時間 在做效能優化之前首先需要做的是收集一些統計資料,這樣才能為後面做的效能優化提供資料支援,對比優化前後的結果。非常不錯的是,在 github 發現乙個 ansible 任務計時外掛程式 ansible profile 安裝這個外掛程式後會顯示 ans...
ansible命令引數介紹
ansible命令引數介紹 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 m 要執行的模組,預設為command a 模組的引數 u ssh連線的使用者名稱,預設用root,ansible.cfg中可以配置 k 提示輸入ssh登入密碼。當使用密碼驗證的...