Ansible基礎(chǔ)

簡(jiǎn)介

ansible是新出現(xiàn)的自動(dòng)化運(yùn)維工具囚玫,基于Python開(kāi)發(fā),集合了眾多運(yùn)維工具(puppet昨忆、cfengine丁频、chef、func邑贴、fabric)的優(yōu)點(diǎn)席里,實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署痢缎、批量運(yùn)行命令等功能胁勺。ansible是基于模塊工作的世澜,本身沒(méi)有批量部署的能力独旷。真正具有批量部署的是ansible所運(yùn)行的模塊,ansible只是提供一種框架寥裂。

核心組件
核心組件.png

  1. Ansible:核心程序
  2. Modules:包括Ansible自帶的核心模塊及自定義模塊
  3. Plugins:完成模塊功能的補(bǔ)充嵌洼,包括連接插件、郵箱插件
  4. Playbooks:劇本封恰;定義Ansible多任務(wù)配置文件麻养,由Ansible自動(dòng)執(zhí)行
  5. Inventory:定義Ansible管理主機(jī)的清單
  6. Connection Plugins:負(fù)責(zé)和被監(jiān)控端實(shí)現(xiàn)通信

特性

  1. 不需要在被管控主機(jī)上安裝任何客戶端
  2. 無(wú)服務(wù)器端,使用時(shí)直接運(yùn)行命令即可
  3. 基于模塊工作诺舔,可使用任意語(yǔ)言開(kāi)發(fā)模塊
  4. 使用yaml語(yǔ)言定制劇本playbook
  5. 基于SSH工作
  6. 可實(shí)現(xiàn)多級(jí)指揮
  7. 冪等性:一種操作重復(fù)多次結(jié)果相同

安裝和配置

  • pip安裝
  • 二進(jìn)制
  • yum安裝
[root@node1 ~]# rpm -qa | grep ansible
ansible-2.4.2.0-2.el7.noarch
[root@node1 ~]# ssh-keygen -P ""
[root@node1 ~]# ssh-copy-id -l /root/.ssh/id_rsa.pub root@node2

常用命令集

[root@node1 ~]# rpm -ql ansible | grep bin
/usr/bin/ansible
/usr/bin/ansible-config
/usr/bin/ansible-connection
/usr/bin/ansible-console
/usr/bin/ansible-doc
/usr/bin/ansible-galaxy
/usr/bin/ansible-inventory
/usr/bin/ansible-playbook
/usr/bin/ansible-pull
/usr/bin/ansible-vault
  • ansible:臨時(shí)命令執(zhí)行工具鳖昌,常用于臨時(shí)命令的執(zhí)行
  • ansible-doc:Ansible模塊功能查看工具
  • ansible-playbook:Ansible定制自動(dòng)化的任務(wù)集編排工具
    [root@node1 ~]# rpm -ql ansible | grep etc
    /etc/ansible
    /etc/ansible/ansible.cfg
    /etc/ansible/hosts
    /etc/ansible/roles
  • ansible.cfg:主配置文件
  • hosts:主機(jī)清單
  • roles:角色目錄

配置文件

[defaults]

# some basic default values...

#inventory      = /etc/ansible/hosts 主機(jī)列表配置文件
#library        = /usr/share/my_modules/ 庫(kù)文件存放位置
#module_utils   = /usr/share/my_module_utils/ 
#remote_tmp     = ~/.ansible/tmp 生成的臨時(shí)py命令文件存放在遠(yuǎn)程主機(jī)的目錄
#local_tmp      = ~/.ansible/tmp 本機(jī)的臨時(shí)命令執(zhí)行目錄
#forks          = 5 默認(rèn)的并發(fā)數(shù)
#poll_interval  = 15 默認(rèn)的線程池
#sudo_user      = root 默認(rèn)sudo用戶
#ask_sudo_pass = True
#ask_pass      = True
#transport      = smart
#remote_port    = 22
#module_lang    = C
#module_set_locale = False

主機(jī)清單的定義方式:
1.直接指明主機(jī)地址或主機(jī)名
2.定義一個(gè)主機(jī)組,調(diào)用的時(shí)候指定該組即可

  • 一般情況下我們的主配置文件保持默認(rèn)就行低飒!

命令說(shuō)明

非全部许昨!
[root@node1 ~]# ansible --help 
Usage: ansible <host-pattern> [options]
Define and run a single task 'playbook' against a set of hosts
Options:
    -a MODULE_ARGS, --args=MODULE_ARGS
    -C, --check
    -e EXTRA_VARS, --extra-vars=EXTRA_VARS
    -f FORKS, --forks=FORKS
    -i INVENTORY
    --list-hosts
    -m MODULE_NAME
    -M MODULE_PATH, --module-path=MODULE_PATH
    --syntax-check

Ansible命令執(zhí)行過(guò)程:

  • 加載自己的配置文件 默認(rèn)/etc/ansible/ansible.cfg
  • 加載自己對(duì)應(yīng)的模塊文件,如command
  • 通過(guò)ansible將模塊或命令生成對(duì)應(yīng)的臨時(shí)py文件褥赊,并將該文件傳輸至遠(yuǎn)程服務(wù)器的
  • 對(duì)應(yīng)執(zhí)行用戶的家目錄的.ansible/tmp/XXX/XXX.PY文件糕档。
  • 給文件+x執(zhí)行
  • 執(zhí)行并返回結(jié)果 刪除臨時(shí)py文件,sleep 0 退出

持續(xù)更新ing

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拌喉,一起剝皮案震驚了整個(gè)濱河市速那,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌尿背,老刑警劉巖端仰,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異田藐,居然都是意外死亡榆俺,警方通過(guò)查閱死者的電腦和手機(jī)售躁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)茴晋,“玉大人陪捷,你說(shuō)我怎么就攤上這事∨瞪茫” “怎么了市袖?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)烁涌。 經(jīng)常有香客問(wèn)我苍碟,道長(zhǎng),這世上最難降的妖魔是什么撮执? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任微峰,我火速辦了婚禮,結(jié)果婚禮上抒钱,老公的妹妹穿的比我還像新娘蜓肆。我一直安慰自己,他們只是感情好谋币,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布仗扬。 她就那樣靜靜地躺著,像睡著了一般蕾额。 火紅的嫁衣襯著肌膚如雪早芭。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天诅蝶,我揣著相機(jī)與錄音退个,去河邊找鬼。 笑死调炬,一個(gè)胖子當(dāng)著我的面吹牛语盈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筐眷,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼黎烈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了匀谣?” 一聲冷哼從身側(cè)響起照棋,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎武翎,沒(méi)想到半個(gè)月后烈炭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宝恶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年符隙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趴捅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡霹疫,死狀恐怖拱绑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丽蝎,我是刑警寧澤猎拨,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站屠阻,受9級(jí)特大地震影響红省,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜国觉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一吧恃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧麻诀,春花似錦痕寓、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)需频。三九已至丁眼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昭殉,已是汗流浹背苞七。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挪丢,地道東北人蹂风。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像乾蓬,于是被迫代替她去往敵國(guó)和親惠啄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

  • ansible 系統(tǒng)架構(gòu) ansible簡(jiǎn)介ansible是新出現(xiàn)的自動(dòng)化運(yùn)維工具任内,ansible是一個(gè)配置管理和...
    運(yùn)維阿文閱讀 9,568評(píng)論 1 52
  • ansible 是一個(gè)輕量級(jí)的IT自動(dòng)化工具撵渡,集合了眾多運(yùn)維工具(puppet、cfengine死嗦、chef趋距、fun...
    我是浪子宕桑旺波閱讀 9,227評(píng)論 0 1
  • 簡(jiǎn)介 ansible是一個(gè)簡(jiǎn)單的it自動(dòng)化工具,可以實(shí)現(xiàn)批量進(jìn)行系統(tǒng)配置越除,軟件部署和運(yùn)行命令等功能节腐⊥舛ⅲ基于pytho...
    clickdiff閱讀 722評(píng)論 0 1
  • 一、ansible簡(jiǎn)介 1翼雀、ansible是新出現(xiàn)的自動(dòng)化運(yùn)維工具饱苟,基于Python開(kāi)發(fā),集合了眾多運(yùn)維工具(pu...
    任總閱讀 2,692評(píng)論 0 0
  • 一狼渊、ansible基礎(chǔ) 1掷空、介紹 ansible是一個(gè)自動(dòng)化運(yùn)維工具,基于Python開(kāi)發(fā)囤锉,集合了眾多運(yùn)維工具(p...
    姜餅人_9e7b閱讀 4,553評(píng)論 0 1