歡迎來到我們以Windows為中心的第四部分入門系列!
成都創(chuàng)新互聯(lián)公司是一家集網站建設,安岳企業(yè)網站建設,安岳品牌網站建設,網站定制,安岳網站建設報價,網絡營銷,網絡優(yōu)化,安岳網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
大多數(shù)IT部門的職責之一是保持系統(tǒng)的更新。在這篇文章中,我們將快速了解如何使用Ansible來管理Windows節(jié)點上的更新。從六臺Windows機器的一個小例子開始,我們將展示一個針對這些主機的游戲示例。最后我們將分享完整的例子。
管理Windows更新是可以理解和使用Ansible快速定制的東西。下面是一個在主機上運行更新的小規(guī)模示例,在進程中可以靈活地進行更新。這里的示例假設存在一個域,并且正在傳遞主機域憑據(jù)。如果您想測試這個示例,請務必閱讀Bianca早些時候的入門文章連接到Windows主機.
由于此示例是針對獨占Windows機器運行的,因此連接所需的信息可以包含在庫存文件中:
[all:vars]
ansible_connection: winrm
ansible_user: administrator
ansible_password: This-Should-Be-a-Password!
示例主機包括三組服務器,每組兩臺。有終端服務器、應用服務器和目錄服務器。為了演示的目的,我們將對每個組的WindowsUpdate需求進行不同的處理。在庫存文件中指定組可以方便地按需要處理每個組。
[terminalservers]
rocket.milano.local
groot.milano.local
[appservers]
drax.milano.local
mantis.milano.local
[directoryservers]
peter.milano.local
gamora.milano.local
在之前的一篇文章中,杰克談到了WIN包裝和WIN巧克力包裝管理。對于Windows更新,還有另一個模塊名為WIN更新以某種粒度管理來自Microsoft的更新。
在我們的示例中,終端服務器用于接收通用應用程序更新、一般更新以及安全/關鍵更新,以及惡意軟件保護的定義更新。此組還將獲得一個特定的修補程序,該修補程序將以其KB編號為白色。對于Ansible 2.5,reboot參數(shù)允許系統(tǒng)在需要時執(zhí)行重新引導,而reboot_timeout參數(shù)則設置等待重新啟動完成的時間長度(以秒為單位)。
- name: Run Updates on Terminal Servers then wait 7 mins
hosts: terminalservers
connection: winrm
tasks:
win_updates:
category_names:
- Application
- CriticalUpdates
- DefinitionUpdates
- SecurityUpdates
- Updates
whitelist:
- KB4093120
reboot: yes
reboot_timeout: 420
應用程序服務器組的更新類別選擇略有不同,并且有不同的KB白名單。在我們想象的應用服務器上,可能需要更多的時間來優(yōu)雅地關閉和重新啟動,因此為了安全起見,重新啟動超時設置了幾分鐘。
- name: Run Updates on App Servers and wait 10 mins
hosts: appservers
connection: winrm
tasks:
win_updates:
category_names:
- CriticalUpdates
- DefinitionUpdates
- SecurityUpdates
- Updates
whitelist:
- KB4022723
reboot: yes
reboot_timeout: 600
最后,最后一組設置為只接收關鍵和安全更新。黑名單參數(shù)也被傳遞來阻止不想要的更新。在任何更新都需要重新啟動的情況下,超時計數(shù)器將增加到15分鐘,以確保ActiveDirectory服務器在完成任何更新之前有足夠的時間備份。
- name: Run Updates on Directory Servers then wait 15 mins
hosts: directoryservers
connection: winrm
tasks:
win_updates:
category_names:
- CriticalUpdates
- SecurityUpdates
blacklist:
- Microsoft Silverlight
reboot: yes
reboot_timeout: 900
您的實際環(huán)境可能會與我們使用的示例略有不同,但用法將是相似的。需要注意的是,win_update模塊沒有指定用于更新的源。這意味著目標主機上配置的任何內容-Microsoft Update、Windows Update、WSUS-都將是目標主機用于更新的源。此外,根據(jù)補丁大小和運行更新的頻率,這是一個比我們在示例中使用的7-15分鐘時間更長的進程,并且比默認的時間(1200毫秒或20分鐘)要長。如往常一樣,在野外使用前進行測試。
下載并安裝Windows更新:Win_Update模塊文檔
GitHub示例:github.com/Ansible-Getting-Started/win_updates_usage