ansible 介紹 施超

2022-09-23 03:48:07 字數 1177 閱讀 3087

常用自動化運維工具

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登入密碼。當使用密碼驗證的...