Ansible教程 第四章 Ad-Hoc命令集

Ad-Hoc命令集由/usr/bin/ansible實現(xiàn)今穿。命令用法如下:

ansible <host-pattern> [options] 

參數(shù)選項鏈接

實例展示:

情景1:檢查proxy組所有主機是否存活蒋川。
執(zhí)行命令:ansible proxy  –f 5 –m ping   

情景2:返回proxy組所有主機的hostname,并打印最詳細的執(zhí)行過程到標準輸出硝全。
執(zhí)行命令:ansible proxy -s -m command -a 'hostname' -vvv 

情景3:列出Web組所有主機列表批糟。
執(zhí)行命令:ansible web --list 

情景4:對10.21.40.61服務(wù)器以root執(zhí)行sleep 20赚爵,設(shè)置最大連接超時時長為2s庶柿,且設(shè)置為后臺運行模式村怪,
      執(zhí)行過程每2s輸出一次進度,如5s還未執(zhí)行完則終止該任務(wù)浮庐。
執(zhí)行命令:
// time命令可省甚负,為方便觀察結(jié)果,這里使用time命令查看執(zhí)行時長  
time ansible 10.21.40.61 -B 5 -P 2 -T 2 -m command -a 'sleep 20'  -u root

情景5:批量查看apps組所有主機的磁盤容量(使用command模塊)。
執(zhí)行命令:ansible apps -a "df -lh" 

情景2:批量查看遠程主機內(nèi)存使用情況(shell模塊)梭域。
執(zhí)行命令:ansible apps -m shell -a  "free -m"

Ansible的并發(fā)特性

步驟1:定義[apps]組斑举,編輯/etc/ansible/hosts的配置。
執(zhí)行命令vi /etc/ansible/hosts病涨,鍵入i進入vi編輯模式懂昂,跳轉(zhuǎn)到文件最末尾,添加如下配置:

[apps]  
192.168.37.130  
192.168.37.155  
192.168.37.142  
192.168.37.156 

步驟2:多次執(zhí)行Ansible命令没宾,執(zhí)行命令如下:

ansible apps -m ping -f 3

步驟3:對比返回結(jié)果,如表3所示:


返回結(jié)果分析如下:
1)同樣的命令多次執(zhí)行沸柔,但每次的輸出結(jié)果都不一定一樣循衰。
2)輸出結(jié)果不是按照/etc/ansible/hosts中[apps]定義的主機順序輸出。
3)結(jié)果輸出基本上遵循每次輸出3條記錄(線程池始終保持3個線程褐澎,所以這里如果每次輸出小于等于3都是正常的)会钝。

建議并發(fā)數(shù)配置的CPU核數(shù)偶數(shù)倍就好皮璧。如4Cores 8GB的服務(wù)器芥吟,建議最多并發(fā)20個線程。

如何使用不熟悉的模塊

使用ansible-doc來幫忙了解不熟悉的模塊:

Usage: ansible-doc [options] [module...]

Options:
  -a, --all             Show documentation for all modules
  -h, --help            show this help message and exit
  -l, --list            List available modules
  -M MODULE_PATH, --module-path=MODULE_PATH
                        specify path(s) to module library (default=None)
  -s, --snippet         Show playbook snippet for specified module(s)
  -v, --verbose         verbose mode (-vvv for more, -vvvv to enable
                        connection debugging)
  --version             show program's version number and exit

使用方法:

情景1:顯示所有可用模塊瓜客。
執(zhí)行命令:ansible-doc –l 

情景2:以yum模塊為例俭正,我們希望獲取yum模塊的HELP說明奸鬓。
執(zhí)行命令:ansible-doc yum 

步驟:安裝redhat-lsb。
執(zhí)行命令:ansible apps -m yum -a 'name=redhat-lsb state=present' 

安裝ntp服務(wù)掸读。
執(zhí)行命令:ansible apps -s -m yum -a "name=ntp state=present" 

啟動ntp服務(wù)串远,并設(shè)置為開機啟動。
執(zhí)行命令:ansible apps -m service -a "name=ntpd state=started enabled=yes"

安裝Nginx儿惫。
執(zhí)行命令:ansible proxy -m yum -a "name=nginx state=present" 

Ansible的YUM模塊同樣支持指定某版本安裝澡罚,其name參數(shù)指定具體版本地址(網(wǎng)絡(luò)或本地均可)。YUM模塊也支持從網(wǎng)絡(luò)安裝或從本地安裝肾请。

網(wǎng)絡(luò)安裝留搔,執(zhí)行命令:
ansible proxy -m yum -a "name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present" 
如果從本地安裝,執(zhí)行命令:
ansible proxy -m yum -a "name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present" 

另一實例:

1)Nginx铛铁、PHP安裝命令如下:
ansible app -m yum -a "name=nginx state=present"  
ansible app -m yum -a "name=php state=present" 

2)Django安裝命令如下:
步驟1:安裝MySQL-python和python-setuptools依賴包隔显。
ansible app -m yum -a "name=MySQL-python state=present"  
ansible app -m yum -a "name=python-setuptools state=present" 
步驟2:安裝Django。
ansible app -m pip -a "name=django state=present" 
步驟3:檢查Django安裝是否正常避归,執(zhí)行命令如下:
ansible app -m command -a "python -c 'import django; print django.get_version()'" 

指定特定主機執(zhí)行

1)--limit:通過--limit參數(shù)限定主機做變更荣月。

情景:在App組中啟動192.168.37.15的NTP服務(wù)。
命令用法:ansible app -m command -a "service ntpd status" --limit "192.168.37.158" 

2)指定IP:通過指定具體IP限定主機做變更梳毙。

情景:啟動192.168.37.158的NTP服務(wù)哺窄。
執(zhí)行命令:ansible 192.168.37.158 -m command -a "service ntpd status" 

3)用“:”作分隔符,指定多臺機器做變更。

情景:啟動192.168.37.158和192.168.37.161的NTP服務(wù)萌业。
執(zhí)行命令:ansible "192.168.37.158:192.168.37.161" -m command -a "service ntpd status" 

4)通過“*”泛匹配坷襟,更靈活地針對多臺主機做變更。

情景:啟動192.168.37.*所有主機的NTP服務(wù)生年。
執(zhí)行命令:ansible 192.168.37.* -m command -a "service ntpd status" 

用戶和組管理

Ad-Hoc用戶與組管理
Linux系統(tǒng)用戶管理:user婴程。
Windows系統(tǒng)用戶管理:win_user。
都是模塊
抱婉?档叔??蒸绩?衙四??患亿?传蹈??步藕?惦界?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市咙冗,隨后出現(xiàn)的幾起案子沾歪,更是在濱河造成了極大的恐慌,老刑警劉巖乞娄,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞬逊,死亡現(xiàn)場離奇詭異,居然都是意外死亡仪或,警方通過查閱死者的電腦和手機确镊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來范删,“玉大人蕾域,你說我怎么就攤上這事〉降” “怎么了旨巷?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長添忘。 經(jīng)常有香客問我采呐,道長,這世上最難降的妖魔是什么搁骑? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任斧吐,我火速辦了婚禮又固,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘煤率。我一直安慰自己仰冠,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布蝶糯。 她就那樣靜靜地躺著洋只,像睡著了一般。 火紅的嫁衣襯著肌膚如雪昼捍。 梳的紋絲不亂的頭發(fā)上识虚,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音妒茬,去河邊找鬼舷礼。 笑死,一個胖子當著我的面吹牛郊闯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛛株,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼团赁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谨履?” 一聲冷哼從身側(cè)響起欢摄,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笋粟,沒想到半個月后怀挠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡害捕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年绿淋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尝盼。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吞滞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盾沫,到底是詐尸還是另有隱情裁赠,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布赴精,位于F島的核電站佩捞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蕾哟。R本人自食惡果不足惜一忱,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一莲蜘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掀潮,春花似錦菇夸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至薯鼠,卻和暖如春择诈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背出皇。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工羞芍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人郊艘。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓荷科,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纱注。 傳聞我的和親對象是個殘疾皇子畏浆,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第3章 Ansible Ad-Hoc命令集 在前面章節(jié)中,為大家介紹了掌握Ansible所必須了解的基礎(chǔ)狞贱,如變量命...
    stanleylst閱讀 603評論 0 0
  • ansible 系統(tǒng)架構(gòu) ansible簡介ansible是新出現(xiàn)的自動化運維工具刻获,ansible是一個配置管理和...
    運維阿文閱讀 9,586評論 1 52
  • 本文主要內(nèi)容均收集于網(wǎng)絡(luò)上的博文資料,僅以此文作為學習總結(jié)瞎嬉。BTW蝎毡,目前Ansible對python3的支持還不是...
    qiuyi943閱讀 18,234評論 1 15
  • 作為背鍋俠運維工作的基本流程 運維工具的分類 : ansible的模塊化: ansible密鑰登陸 ansible...
    二郎5閱讀 4,159評論 0 10
  • ansible-playbook playbook簡介 playbook是ansible用于配置,部署氧枣,和管理被控...
    bdslinux閱讀 10,894評論 1 12