Ansible自動化營運之Playbook詳解及體驗(二)

來源:互聯網
上載者:User

標籤:RoCE   and   修改   定義   copy   term   調用   多次   圖片   

Handlers介紹:

  • Handlers也是一些task的列表,和一般的task並沒有什麼區別。是由通知者進行的notify,如果沒有被notify,則Handlers不會執行,假如被notify了,則Handlers被執行;
  • 不管有多少個通知者進行了notify,等到play中的所有task執行完成之後,handlers也只會被執行一次
  • “notify”這個action可用於在每個play的最後被觸發,這樣可以避免多次有改變發生時每次都執行指定的操作,取而代之,僅在所有的變化發生完成後一次性地執行指定操作。在notify中列出的操作稱為handler,也即notify中調用handler中定義的操作。

通過部署一個實驗來看一下:

  • 實驗項目:通過ansible劇本對被管理端進行部署httpd服務,並且修改設定檔,啟動服務。
  • 實驗環境
主機 作業系統 IP地址
ansible管理端 Centos7 192.168.72.128 /
ansible被管理端 Centos7 192.168.72.155 webserver
ansible被管理端 Centos7 192.168.72.156 mysql
  • 實驗步驟
1.現在管理端安裝Apache,提取其設定檔作為模板:  * yum install -y httpd  * cp /etc/httpd/conf/httpd.conf /opt/httpd.conf.j2

2.修改HTTP設定檔範本:  * vim /opt/httpd.conf.j2


3.修改ansible的hosts檔案  * vim /etc/ansible/hosts

4.編寫一個劇本:* vim /opt/httpd.yml- hosts: webserver  remote_user: root  vars:                   #定義變數  - package: httpd  - server: httpd  tasks:                #任務   - name: installed apache     yum: name={{package}} state=latest          #調用變數   - name: copy httpd temp     template: src=/opt/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf         #模板路徑和目標路徑     notify:               #調用參數handlers       - restart httpd   - name: start httpd     service: name={{server}} enabled=true state=started  handlers:           #被notify調用的參數     - name: restart httpd       service: name={{server}} state=restarted


5.執行ansible-play劇本:

6.被控制端檢查:

Ansible自動化營運之Playbook詳解及體驗(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.