Ansible常用模組 甜味拾荒者

2022-09-23 06:57:07 字數 4141 閱讀 1734

1.ping模組ping模組,主要用於判斷遠端客戶端是否**,用於ping本身伺服器,返回值是changed、ping使用ansible ping伺服器狀態,**為ansible -k all -m 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則建立系統使用者

append:新增乙個新的組

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模組包含如下選項:

force:需要在兩種情況下強制建立軟鏈結,一種是原始檔不存在但之後會建立的情況下;另一種是目標軟鏈結已存在,需要先取消之前的軟鏈,然後建立新的軟鏈,有兩個選項:yes|no

group:定義檔案/目錄的屬組

mode:定義檔案/目錄的許可權

owner:定義檔案/目錄的屬主

path:必選項,定義檔案/目錄的路徑

recurse:遞迴的設定檔案的屬性,只對目錄有效

src:要被鏈結的原始檔的路徑,只應用於state=link的情況

dest:被鏈結到的路徑,只應用於state=link的情況

state: directory:如果目錄不存在,建立目錄

file:即使檔案不存在,也不會被建立

link:建立軟鏈結

hard:建立硬鏈結

touch:如果檔案不存在,則會建立乙個新的檔案,如果檔案或目錄已存在,則更新其最後修改時間

absent:刪除目錄、檔案或者取消鏈結檔案

使用示例:

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 模組

該模組主要用於從http、ftp、https伺服器上**檔案(類似於wget),主要有如下選項:

sha256sum:**完成後進行sha256 check;

timeout:**超時時間,預設10s

url:**的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.ping模組2.ansible command模組是ansible預設模組,主要用於執行linux基礎命令,可以執行遠端伺服器命令執行 任務執行等操作。但command模組不支援變數 重定向 管道符等,這些操作需要用shell模組執行 command模組使用詳解 chdir 執行命令前,切換到目...

ansible常用模組

1.setup 該模組主要用於收集資訊,是通過呼叫facts元件來實現的 ansible doc s setup ansible mysql m setup 檢視mysql伺服器上所有資訊檢視遠端主機基本資訊 ansible all m setup2.ping測試遠端主機執行狀態 ansible a...