Ansible簡介 & playbook & roles & include


ansible概述
  1. 應用代碼自動化部署
  • 系統(tǒng)管理配置自動化
  • 支持持續(xù)交付自動化
  • 支持云编饺、大數(shù)據(jù)(openstack、aws鹤啡、cloudstack梗顺、vmware)環(huán)境
  • 批量任務執(zhí)行可以寫成腳本,不必分發(fā)到遠程就可以執(zhí)行
  • 支持sudo
Paste_Image.png
Paste_Image.png

Playbook簡介
-hosts: //被管理的主機組
 user:root  //遠程執(zhí)行操作的用戶
 vars: //變量
  - motd_warning:'variable'
 tasks:  //任務
  -name:setup a MOTD
   copy:dest=/etc/motdcontent = "{{ motd_warning }}"
   notify:say something
 handlers: //由task的notify觸發(fā)的處理動作
  -name:say something
  1. Target section 定義將要執(zhí)行playbook的遠程主機組
hosts:定義遠程的主機組
user:執(zhí)行該任務組的用戶
remote_user:與user相同
sudo:如果設(shè)置為yes蝠嘉,執(zhí)行該任務組的用戶在執(zhí)行任務的時候最疆,獲取root權(quán)限
sudo_user:如果你設(shè)置user為tom,sudo為yes蚤告,sudo_user為jerry努酸,則tom用戶則會獲取jerry用戶的權(quán)限
connection:通過什么方式連接到遠程主機,默認為ssh
gather_facts:除非你明確說明不需要在遠程主機上執(zhí)行setup模塊杜恰,否則默認會自動執(zhí)行获诈。如果你確實不需要setup模塊所傳遞過來的變量,你可以啟用該選項
  1. Variable section
    定義playbook運行時需要使用的變量
vars  直接在playbook中定義變量
vars_files:  #在文件中定義變量心褐,var_files指定包含變量的文件位置
    - variables
vars_prompt:  #用于實現(xiàn)用戶輸入作為變量的值
    -name:variable_name 自定義變量名舔涎,可以在文件中使用
     prompt: please input xxx  提示信息
     private:yes  交互輸入不顯示
  • Task section
    定義將要在遠程主機上執(zhí)行的任務列表
tasks:
    #第一種方法
    - name: install apache
       action: yum name=httpd state=installed     
    #第二種方法
    - name: configure apache
       copy: src=files/httpd.conf dest=/etc/httpd/conf/httpd.conf
    #第三種方法    
    - name: restart apache                    
       service:
            name: httpd
            state: restarted                         
  • Handler section
    定義task執(zhí)行完成以后需要調(diào)用的任務
tasks:
   - name: template configuration file
     template: src=template.j2 dest=/etc/foo.conf
     notify:
         - restart memcached
         - restart apache
handlers:
    - name: restart memcached
      service: name= memcached state=restarted
    - name: restart apache
      service: name=httpd state=restarted

playbook的roles和include

完成復雜任務時,通常需要把多個playbook進行組合逗爹,少量用include即可完成亡嫌,如果playbook較多嚎于,引入roles對playbook進行有效組織十分必要

include包含
include.yml文件內(nèi)容
- include xxx1.yml
- include xxx2.yml
- hosts:mfs_node
  vars_file:
    - vars.yml
    - vars1.yml
  tasks:
    - include: task.yml
  handlers:
    - include: handler.yml

task.yml文件內(nèi)容
- name :xxx
  shell:xxx
  notify:touch a file

handler.yml文件內(nèi)容

- name:touch a file
  shell: xxx
roles目錄結(jié)構(gòu)
group_vars/  //可定義整組角色都可用的變量文件,也可以單獨定義某個角色變量文件挟冠,文件名對應hosts內(nèi)的角色名稱
hosts
main.yml   //入口文件
roles/
    role1/
       vars/
       tasks/
       handlers/
    role2/
    role3/
    ...
tools/

main.yml文件內(nèi)容類似這樣

- hosts: xxx1
  roles:
    - role:
- hosts: xxx2
  roles:
    - role: 
    - role:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末于购,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子知染,更是在濱河造成了極大的恐慌肋僧,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件控淡,死亡現(xiàn)場離奇詭異嫌吠,居然都是意外死亡,警方通過查閱死者的電腦和手機掺炭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門辫诅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涧狮,你說我怎么就攤上這事泥栖。” “怎么了勋篓?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長魏割。 經(jīng)常有香客問我譬嚣,道長,這世上最難降的妖魔是什么钞它? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任拜银,我火速辦了婚禮,結(jié)果婚禮上遭垛,老公的妹妹穿的比我還像新娘尼桶。我一直安慰自己,他們只是感情好锯仪,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布泵督。 她就那樣靜靜地躺著,像睡著了一般庶喜。 火紅的嫁衣襯著肌膚如雪小腊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天久窟,我揣著相機與錄音秩冈,去河邊找鬼。 笑死斥扛,一個胖子當著我的面吹牛入问,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼芬失,長吁一口氣:“原來是場噩夢啊……” “哼楣黍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麸折,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤锡凝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垢啼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窜锯,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年芭析,在試婚紗的時候發(fā)現(xiàn)自己被綠了锚扎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡馁启,死狀恐怖驾孔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惯疙,我是刑警寧澤翠勉,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站霉颠,受9級特大地震影響对碌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蒿偎,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一朽们、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诉位,春花似錦骑脱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至椿息,卻和暖如春歹袁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寝优。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工条舔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乏矾。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓孟抗,卻偏偏與公主長得像迁杨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凄硼,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

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

  • 作為背鍋俠運維工作的基本流程 運維工具的分類 : ansible的模塊化: ansible密鑰登陸 ansible...
    二郎5閱讀 4,165評論 0 10
  • ###### Ansible總結(jié) ##### 運維工作: 系統(tǒng)安裝(物理機铅协、虛擬機)-->程序包安裝、配置摊沉、服務啟...
    二郎5閱讀 2,033評論 0 4
  • ansible介紹ansible常用模塊使用playbooktemplates狐史,模板條件測試和循環(huán)迭代roles,...
    哈嘍別樣閱讀 1,413評論 0 3
  • 1. 什么是Ansible说墨,它有什么用骏全? Ansible它是個集配置管理和應用部署于一體的自動化運維工具。 應用情...
    午覺不眠Orz閱讀 1,527評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理尼斧,服務發(fā)現(xiàn)姜贡,斷路器,智...
    卡卡羅2017閱讀 134,714評論 18 139