以前其實寫到過不少篇關於Azure Automationd的應用,若是想在雲上跑一些定時的任務,automation是個不錯的選擇,可是以前寫的博客裏實現的場景也都是作一些和雲上相關的操做,那麼若是咱們想把雲和本地打通,使用automation去管理本地的機器呢?其實也是能夠實現的,咱們可使用automation中的hybrid worker來作這個事,由於automation自己是沒有咱們on premise機器的credential的,因此咱們須要藉助於agent來實現這個功能
數據庫
能夠先來看一下微軟關於這方面的介紹
服務器
Azure 自動化中的 Runbook 可能無權訪問其餘雲或本地環境中的資源,由於它們在 Azure 雲平臺中運行。 利用 Azure 自動化的混合 Runbook 輔助角色功能,既能夠直接在計算機上運行 Runbook,也能夠對環境中的資源運行 Runbook,從而管理這些本地資源。 Runbook 在 Azure 自動化中進行存儲和管理,而後發送到一臺或多臺指定的計算機。架構
混合runbook的總體架構能夠參考下圖,混合runbook其實還要藉助Log Analystics來實現,安裝完成後,會看到Log Analystics的control panelide
總的來講其實架構並不複雜,下邊來講說混合runbook能幫咱們解決什麼問題,在服務器數量不多的時候其實體現的不明顯,可是若是服務器不少的時候,好比咱們有不少臺數據庫服務器,咱們在每臺服務器上都跑了定時任務進行數據庫備份,可是這種分散的備份腳本不利於統一的管理,不論是開啓/暫停,仍是作一些修改,又或者是說要查看腳本執行的狀況,都須要把管理任務分散到每一臺服務器上去看,可是若是經過統一的hybrid runbook去作,咱們就至關於有了一個統一的腳本執行的平臺,全部這些任務均可以在這個平臺上去完成
spa
這只是一個簡單的說明,相似地場景還有不少,下面咱們來看下如何部署hybrid worker
3d
整體來說咱們能夠分爲三個步驟:
blog
1.部署automation account
ip
2.部署Log Analytics
資源
3.部署hybrid workerrem
首先先把automation account建立出來
建立完成後能夠看到相關的信息
接下來部署Log Analytics,Log Analytics部署也很簡單
能夠看到這些信息就表明部署成功了
接下來就能夠部署Hybrid worker了
部署Hybrid worker須要用到一個叫New-OnPremiseHybridWorker的腳本,這個腳本咱們能夠直接經過PowerShellGet下載到
直接經過Install-Script -Name New-OnPremiseHybridWorker進行安裝便可
若是安裝過程當中遇到以上報錯,能夠嘗試更新PowerShellGet module的版本
install-module PowerShellGet -Force
以後關閉PowerShell再打開嘗試,報錯消失,正常安裝了
下邊就能夠開始正式部署了,這個腳本有一些參數是必需要配置的
AutomationAccountName(必需):自動化賬戶的名稱。
AAResourceGroupName(必需):與自動化賬戶關聯的資源組的名稱。
OMSResourceGroupName(可選):Log Analytics 工做區的資源組的名稱。 若是未指定此資源組,則使用 AAResourceGroupName 。
HybridGroupName(必需):混合 Runbook 輔助角色組的名稱,可將其指定爲支持此方案的 runbook 的目標。
SubscriptionID(必需):包含自動化賬戶的 Azure 訂閱 ID。
WorkspaceName(可選):Log Analytics 工做區名稱。 若是沒有 Log Analytics 工做區,該腳本會建立並配置一個。
開始部署,能夠看到這裏其實會下載Log Analystic的agent
完成後,能夠在控制面板裏看到相關的信息
以後就能夠在hybrid worker group裏看到剛剛註冊的信息了
以後咱們就能夠按照正常作runbook的套路操做了,嘗試來建立一個runbook
咱們編寫一個簡單的腳本,而後發佈出去
這裏能夠看到在run的時候是能夠選擇要在哪一個環境裏運行的,也是和以前雲上的runbook有區別的地方
能夠看到在服務器上已經能正常輸出結果了