Ansible(自動化運維工具--介紹)

1、Ansible介紹

 ansible是新出現的自動化運維工具,基於Python開發,集合了衆多運維工具(puppet、cfengine、chef、func、fabric)的優勢,實現了批量系統配置、批量程序部署、批量運行命令等功能。
 ansible是基於模塊工做的,自己沒有批量部署的能力。真正具備批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:
(1)、鏈接插件connection plugins:負責和被監控端實現通訊;
(2)、host inventory:指定操做的主機,是一個配置文件裏面定義監控的主機;
(3)、各類模塊核心模塊、command模塊、自定義模塊;
(4)、藉助於插件完成記錄日誌郵件等功能;
(5)、playbook:劇本執行多個任務時,非必需可讓節點一次性運行多個任務。
 

2、ansible工做機制

 

架構組成:ansible核心、ansible模塊、ansible-playbook(劇本)、host inventry(主機清單)等
工做原理:單個模塊,單個命令執行方式;劇本執行方式shell

3、ansible的參數:服務器

ansible參數說明
參數   參數說明
-m   指定使用的module名稱,默認使用command模塊
 -a  指定使用的命令,如ansible all -m shell -a "date"
 -v  --verbose 詳細信息
 all  針對hosts 定義的全部主機執行
-U --sud-user=SUDO_User sudo到哪一個用戶,默認爲 root
-k --ask-pass 登陸密碼,提示輸入SSH密碼而不是假設基於密鑰的驗證
-s --sudo sudo運行
-S --su 使用su命令

4、ansible的經常使用模塊架構

ansible模塊
模塊名稱 模塊說明
ping 測試主機是不是通的,用法很簡單,不涉及參數
command 執行命令模塊,ansible命令執行默認模塊
shell 執行shell命令模塊
copy 複製文件到遠程主機
script 腳本模塊
file file模塊主要用於遠程主機上的文件操做
service 用於管理服務
cron 用於管理計劃任務
synchronize 使用rsync同步文件
yum 使用yum包管理器來管理軟件包
mount 配置掛載點
get_url 該模塊主要用於從http、ftp、https服務器上下載文件(相似於wget)
user user模塊是請求的是useradd, userdel, usermod三個指令
group goup模塊請求的是groupadd, groupdel, groupmod 三個指令

5、ansible的語法格式框架

ansible all -m shell -a "date"運維

ansible all -m shell -a date
ansible命令 主機清單 ansible參數 ansible模塊 指定使用的命令 date命令
相關文章
相關標籤/搜索