1.ping模組2.ansible command模組是ansible預設模組,主要用於執行linux基礎命令,可以執行遠端伺服器命令執行、任務執行等操作。
但command模組不支援變數、重定向、管道符等,這些操作需要用shell模組執行
command模組使用詳解:
chdir:執行命令前,切換到目錄
creates:當該檔案存在時,不執行該步驟
executable:切換shell來執行命令,需要使用命令的絕對路徑
free_from:需要執行的指令碼,一般使用ansible的-a引數代替。
removes:當該檔案不存在時,不執行該步驟
warn:如果在ansible.cfg中存在告警,如果設定了false,不會告警該行
3.ansible copy模組主要用於檔案或者目錄複製,支援檔案、目錄、許可權、使用者組功能
copy模組使用詳解:
src:ansible端原始檔或者目錄,空目錄不複製
content:用來替代src,用於將指定檔案的內容複製到遠端檔案內
dest:客戶端目標目錄或者檔案,需要絕對路徑
backup:複製之前,先備份遠端節點上的原始檔案
directory_mode:用於複製目錄,新建的檔案會被複製,而舊的不會被複製
follow:支援link檔案複製
force:覆蓋遠端主機不一致的內容
group:設定遠端主機目錄的組名
mode:設定遠端主機檔案及目錄的許可權
owner:設定遠端主機目錄的使用者名稱
4.ansible yum模組主要用於軟體的安裝、公升級、解除安裝,支援rpm軟體包的管理
yum模組使用詳解:
conf_file:設定遠端yum執行時所依賴的yum配置檔案
disable_gpg_check:安裝軟體包之前是否檢查gpg key
name:需要安裝的軟體名稱,支援軟體組安裝
update_cache:安裝軟體之前更新快取
enablerepo:指定repo源名稱
skip_broken:跳過異常軟體節點
state:軟體包狀態,包括installed、present、latest、absent、removed
present, installed是指安裝套件,而latest指安裝最新的套件,也就是使用 yum mirror 上最新的版本。
absent, removed 沒有什麼區別
5.ansible user模組主要用於作業系統使用者、組、許可權、密碼等操作
user模組使用詳解:
system:預設建立為普通使用者,為yes則建立系統使用者
comment:新增描述資訊
createhome:給使用者建立家目錄
force:強制刪除使用者
group:建立使用者主組
groups:將使用者加入組或者附屬組新增
home:指定使用者的家目錄
name:表示狀態,是否create、remove、modify
password:指定使用者的密碼,為加密密碼
remove:刪除使用者
shell:設定使用者的shell登入環境
uid:設定使用者id
update_password:修改使用者密碼
state:使用者狀態,預設為present,表示新建使用者
6. setup模組,主要用於獲取主機資訊,在playbooks裡經常會用到的乙個引數gather_facts就與該模組相關。setup模組下經常使用的乙個引數是filter引數,具體使用示例如下(由於輸出結果較多,這裡只列命令不寫結果):
[root@361way ~]# ansible 10.212.52.252 -m setup -a 'filter=ansible_*_mb' //檢視主機記憶體資訊[root@361way ~]# ansible 10.212.52.252 -m setup -a 'filter=ansible_eth[0-2]' //檢視地介面為eth0-2的網絡卡資訊[root@361way ~]# ansible all -m setup --tree /tmp/facts //將所有主機的資訊輸入到/tmp/facts目錄下,每台主機的資訊輸入到主機名檔案中(/etc/ansible/hosts裡的主機名)
7. file模組主要用於遠端主機上的檔案操作,file模組包含如下選項:
group:定義檔案/目錄的屬組
mode:定義檔案/目錄的許可權
owner:定義檔案/目錄的屬主
path:必選項,定義檔案/目錄的路徑
recurse:遞迴的設定檔案的屬性,只對目錄有效
state: directory:如果目錄不存在,建立目錄
file:即使檔案不存在,也不會被建立
touch:如果檔案不存在,則會建立乙個新的檔案,如果檔案或目錄已存在,則更新其最後修改時間
使用示例:
ansible test -m file -a "src=/etc/fstab dest=/tmp/fstab state=link"ansible test -m file -a "path=/tmp/fstab state=absent"ansible test -m file -a "path=/tmp/test state=touch"
8.service模組
用於管理服務
9.cron模組
用於管理計畫任務
10.yum模組
使用yum包管理器來管理軟體包,其選項有:
config_file:yum的配置檔案
disable_gpg_check:關閉gpg_check
disablerepo:不啟用某個源
enablerepo:啟用某個源
name:要進行操作的軟體包的名字,也可以傳遞乙個url或者乙個本地的rpm包的路徑
state:狀態(present,absent,latest)
11.user模組與group模組
user模組是請求的是useradd, userde
12.synchronize模組
使用rsync同步檔案,其引數如下:
archive: 歸檔,相當於同時開啟recursive(遞迴)、links、perms、times、owner、group、-d選項都為yes ,預設該項為開啟
13.get_url 模組
url_password、url_username:主要用於需要使用者名稱密碼進行驗證的情況
use_proxy:是事使用**,**需事先在環境變更中定義
14.user模組是請求的是useradd, userdel, usermod三個指令,goup模組請求的是groupadd, groupdel, groupmod 三個指令。
15.script模組[在遠端主機執行主控端的shell/python指令碼 ] (使用相對路徑)
[root@node1 ansible]# ansible testservers -m script -a '/etc/ansible/test.sh
16. shell模組[執行遠端主機的shell/python指令碼]
[root@node1 ansible]# ansible testservers -m shell -a 'bash /root/test.sh'
17. raw模組[類似於command模組、支援管道傳遞]
[root@node1 ansible]# ansible testservers -m raw -a "ifconfig eth0 |sed -n 2p |awk '' |awk -f: ''"
ansible常用模組
1.setup 該模組主要用於收集資訊,是通過呼叫facts元件來實現的 ansible doc s setup ansible mysql m setup 檢視mysql伺服器上所有資訊檢視遠端主機基本資訊 ansible all m setup2.ping測試遠端主機執行狀態 ansible a...
Ansible 常用模組
ansible是基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點 具有批量系統配置 批量程式部署 批量執行命令等功能。是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種...
Ansible常用模組
例子 ansible webserver m pingname 指定安裝包的名字 state latest 安裝最新版 present 預設安裝 installed 安裝 absent 解除安裝 removed 解除安裝 例子 ansible webservers m yum a name http...