日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何使用Ansible打補(bǔ)丁以及安裝應(yīng)用

使用 Ansible IT 自動(dòng)化引擎節(jié)省更新的時(shí)間。

成都創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),金城江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:金城江等地區(qū)。金城江做網(wǎng)站價(jià)格咨詢:18982081108

你有沒有想過,如何打補(bǔ)丁、重啟系統(tǒng),然后繼續(xù)工作?

如果你的回答是肯定的,那就需要了解一下 Ansible 了。它是一個(gè)配置管理工具,對(duì)于一些復(fù)雜的有時(shí)候需要幾個(gè)小時(shí)才能完成的系統(tǒng)管理任務(wù),又或者對(duì)安全性有比較高要求的時(shí)候,使用 Ansible 能夠大大簡(jiǎn)化工作流程。

以我作為系統(tǒng)管理員的經(jīng)驗(yàn),打補(bǔ)丁是一項(xiàng)最有難度的工作。每次遇到公共漏洞批露Common Vulnearbilities and Exposure(CVE)通知或者信息保障漏洞預(yù)警Information Assurance Vulnerability Alert(IAVA)時(shí)都必須要高度關(guān)注安全漏洞,否則安全部門將會(huì)嚴(yán)肅追究自己的責(zé)任。

使用 Ansible 可以通過運(yùn)行封裝模塊以縮短打補(bǔ)丁的時(shí)間,下面以 yum 模塊更新系統(tǒng)為例,使用 Ansible 可以執(zhí)行安裝、更新、刪除、從其它地方安裝(例如持續(xù)集成/持續(xù)開發(fā)中的 rpmbuild)。以下是系統(tǒng)更新的任務(wù):

  - name: update the system
    yum:
      name: "*"
      state: latest

在第一行,我們給這個(gè)任務(wù)命名,這樣可以清楚 Ansible 的工作內(nèi)容。第二行表示使用 yum 模塊在CentOS虛擬機(jī)中執(zhí)行更新操作。第三行 name: "*" 表示更新所有程序。最后一行 state: latest 表示更新到最新的 RPM。

系統(tǒng)更新結(jié)束之后,需要重新啟動(dòng)并重新連接:

  - name: restart system to reboot to newest kernel
    shell: "sleep 5 && reboot"
    async: 1
    poll: 0

  - name: wait for 10 seconds
    pause:
      seconds: 10

  - name: wait for the system to reboot
    wait_for_connection:
      connect_timeout: 20
      sleep: 5
      delay: 5
      timeout: 60

  - name: install epel-release
    yum:
      name: epel-release
      state: latest

shell 模塊中的命令讓系統(tǒng)在 5 秒休眠之后重新啟動(dòng),我們使用 sleep 來保持連接不斷開,使用 async 設(shè)定最大等待時(shí)長以避免發(fā)生超時(shí),poll 設(shè)置為 0 表示直接執(zhí)行不需要等待執(zhí)行結(jié)果。暫停 10 秒鐘以等待虛擬機(jī)恢復(fù),使用 wait_for_connection 在虛擬機(jī)恢復(fù)連接后盡快連接。隨后由 install epel-release 任務(wù)檢查 RPM 的安裝情況。你可以對(duì)這個(gè)劇本執(zhí)行多次來驗(yàn)證它的冪等性,唯一會(huì)顯示造成影響的是重啟操作,因?yàn)槲覀兪褂昧?shell 模塊。如果不想造成實(shí)際的影響,可以在使用 shell 模塊的時(shí)候 changed_when: False。

現(xiàn)在我們已經(jīng)知道如何對(duì)系統(tǒng)進(jìn)行更新、重啟虛擬機(jī)、重新連接、安裝 RPM 包。下面我們通過 Ansible Lightbulb 來安裝 NGINX:

  - name: Ensure nginx packages are present
    yum:
      name: nginx, python-pip, python-devel, devel
      state: present
    notify: restart-nginx-service

  - name: Ensure uwsgi package is present
    pip:
      name: uwsgi
      state: present
    notify: restart-nginx-service

  - name: Ensure latest default.conf is present
    template:
      src: templates/nginx.conf.j2
      dest: /etc/nginx/nginx.conf
      backup: yes
    notify: restart-nginx-service

  - name: Ensure latest index.html is present
    template:
      src: templates/index.html.j2
      dest: /usr/share/nginx/html/index.html

  - name: Ensure nginx service is started and enabled
    service:
      name: nginx
      state: started
      enabled: yes

  - name: Ensure proper response from localhost can be received
    uri:
      url: "http://localhost:80/"
      return_content: yes
    register: response
    until: 'nginx_test_message in response.content'
    retries: 10
    delay: 1

以及用來重啟 nginx 服務(wù)的操作文件:

# 安裝 nginx 的操作文件
  - name: restart-nginx-service
    service:
      name: nginx
      state: restarted

在這個(gè)角色里,我們使用 RPM 安裝了 nginx、python-pippython-devel、devel,用 PIP 安裝了 uwsgi,接下來使用 template 模塊復(fù)制 nginx.confindex.html 以顯示頁面,并確保服務(wù)在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)。然后就可以使用 uri 模塊檢查到頁面的連接了。

這個(gè)是一個(gè)系統(tǒng)更新、系統(tǒng)重啟、安裝 RPM 包的劇本示例,后續(xù)可以繼續(xù)安裝 nginx,當(dāng)然這里可以替換成任何你想要的角色和應(yīng)用程序。

  - hosts: all
    roles:
      - centos-update
      - nginx-simple

 

這只是關(guān)于如何更新系統(tǒng)、重啟以及后續(xù)工作的示例。簡(jiǎn)單起見,我只添加了不帶變量的包,當(dāng)你在操作大量主機(jī)的時(shí)候,你就需要修改其中的一些設(shè)置了:

  • async & poll
  • serial
  • forks

這是由于在生產(chǎn)環(huán)境中如果你想逐一更新每一臺(tái)主機(jī)的系統(tǒng),你需要花相當(dāng)一段時(shí)間去等待主機(jī)重啟才能夠繼續(xù)下去。



新聞標(biāo)題:如何使用Ansible打補(bǔ)丁以及安裝應(yīng)用
網(wǎng)站路徑:http://www.dlmjj.cn/article/cdieoed.html