以前其实写到过不少篇关于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有区别的地方
能够看到在服务器上已经能正常输出结果了