上一篇部落格中主要介紹了Ansible概述及Ansible部署,詳見以下連結自動化運維之Ansible概述及Ansible部署請添加連結描述
本篇将介紹Ansible指令應用之常用子產品,以執行個體的形式進行示範。
-v:輸出詳細資訊(可以使用多個v)
-i PATH:指定hosts檔案位置
-f NUM :指定開啟的程序數(預設為5)
-m MOULE :指定module的名稱(預設為command)
-m DIRECTORY:指定module的目錄來加載module,預設是/usr/share/ansible
-a,MODULE_ARGS:指定module子產品的參數
-k:提示輸入ssh的密碼,而不是使用基于ssh的密鑰認證
-u USERNAME:指定移動端的執行使用者
-C:測試此指令執行會改變什麼内容,不會真正的去執行
Ansible的指令行管理工具都是由一系列子產品、參數所支援的,可以在指令後面加上-h或--help擷取幫助。如使用ansible-doc工具可以通過ansible-doc -h或者ansible-doc --help檢視其幫助資訊。
ansible-doc是用來檢視子產品幫助資訊的工具,最主要的選項-l用來列出可使用的子產品,-s用來列出某個子產品的描述資訊和使用示列。如列出yum子產品的描述資訊和操作動作:
預設子產品,用于運作系統指令,比如echo hello。不支援shell變量和管道。
Ansible中的cron子產品用于定義任務計劃。其中有兩種狀态(state):present表示添加(省略狀态時預設使用),absent表示移除。
Ansible中user子產品用于建立新使用者和更改、删除已存在的使用者。其中name選項用來指明建立的使用者名稱。
Ansible中的group子產品用于對使用者組進行管理
Ansible中的copy子產品用于實作檔案複制和批量下發檔案。其中使用src來定義本地源檔案路徑,使用dest定義被管理主機檔案路徑,使用content則是通過指定資訊内容來生成目标檔案。
在Ansible中使用file子產品來設定檔案屬性。其中使用path指定檔案路徑,使用src定義源檔案路徑,使用name或dest來替換建立檔案的符号連結。
在Ansible中使用ping子產品來檢測指定主機的連通性。
在Ansible中使用service子產品來控制管理服務的運作狀态。其中,使用enabled表示是否開機自動啟動,取值為true或者false;使用name定義服務名稱;使用state指定服務狀态,取值分别為started、stopped、restarted。
Ansible中的shell子產品可以在被管理主機上運作指令,并支援像管道符等功能的複雜指令。
Ansible中的script子產品可以将本地腳本複制到被管理主機上進行運作。需要注意的是,使用相對路徑來指定腳本。
Ansible中的yum子產品負責在被管理主機上安裝和解除安裝軟體包,但是需要提前在每個節點配置自己的YUM倉庫。其中使用name指定要安裝的軟體包,還需要帶上軟體包的版本号,否則安裝最新的軟體包;使用state指定安裝軟體包的狀态,present、latest用來表示安裝,absent表示解除安裝。
在Ansible中使用setup子產品收集、檢視被管理主機的facts(facts是Ansible采集被管理主機裝置資訊的一個功能)。每個被管理主機在接收并運作管理指令之前,都會将自己的相關資訊(作業系統版本、IP位址等)發送給控制主機。
下一篇将介紹Ansible Playbook的使用,敬請期待!