Azure Automation混合runbook管理本地资

    之前其实写到过很多篇关于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 panel

    Azure Automation混合runbook管理本地资

    总的来说其实架构并不复杂,下边来说说混合runbook能帮我们解决什么问题,在服务器数量很少的时候其实体现的不明显,但是如果服务器很多的时候,比如我们有很多台数据库服务器,我们在每台服务器上都跑了定时任务进行数据库备份,但是这种分散的备份脚本不利于统一的管理,不管是开启/暂停,还是做一些修改,又或者是说要查看脚本执行的情况,都需要把管理任务分散到每一台服务器上去看,但是如果通过统一的hybrid runbook去做,我们就相当于有了一个统一的脚本执行的平台,所有这些任务都可以在这个平台上去完成

    这只是一个简单的说明,类似地场景还有很多,下面我们来看下如何部署hybrid worker

    总体来讲我们可以分为三个步骤:

    1.部署automation account

    2.部署Log Analytics

    3.部署hybrid worker

    首先先把automation account创建出来

    Azure Automation混合runbook管理本地资

    创建完成后可以看到相关的信息Azure Automation混合runbook管理本地资

    

    接下来部署Log Analytics,Log Analytics部署也很简单

    Azure Automation混合runbook管理本地资

    可以看到这些信息就代表部署成功了Azure Automation混合runbook管理本地资

    

    接下来就可以部署Hybrid worker了

    部署Hybrid worker需要用到一个叫New-OnPremiseHybridWorker的脚本,这个脚本我们可以直接通过PowerShellGet下载到

    直接通过Install-Script -Name New-OnPremiseHybridWorker进行安装即可

    Azure Automation混合runbook管理本地资

    如果安装过程中遇到以上报错,可以尝试更新PowerShellGet module的版本

    install-module PowerShellGet -Force

    Azure Automation混合runbook管理本地资

    之后关闭PowerShell再打开尝试,报错消失,正常安装了

    Azure Automation混合runbook管理本地资

    下边就可以开始正式部署了,这个脚本有一些参数是必须要配置的

    

    AutomationAccountName(必需):自动化帐户的名称。

    AAResourceGroupName(必需):与自动化帐户关联的资源组的名称。

    OMSResourceGroupName(可选):Log Analytics 工作区的资源组的名称。 如果未指定此资源组,则使用 AAResourceGroupName 。

    HybridGroupName(必需):混合 Runbook 辅助角色组的名称,可将其指定为支持此方案的 runbook 的目标。

    SubscriptionID(必需):包含自动化帐户的 Azure 订阅 ID。

    WorkspaceName(可选):Log Analytics 工作区名称。 如果没有 Log Analytics 工作区,该脚本会创建并配置一个。

Azure Automation混合runbook管理本地资

    

    开始部署,可以看到这里其实会下载Log Analystic的agent

Azure Automation混合runbook管理本地资

    完成后,可以在控制面板里看到相关的信息Azure Automation混合runbook管理本地资

    之后就可以在hybrid worker group里看到刚刚注册的信息了

Azure Automation混合runbook管理本地资

    之后我们就可以按照正常做runbook的套路操作了,尝试来创建一个runbook

    Azure Automation混合runbook管理本地资

    我们编写一个简单的脚本,然后发布出去Azure Automation混合runbook管理本地资

    这里可以看到在run的时候是可以选择要在哪个环境里运行的,也是和之前云上的runbook有区别的地方

Azure Automation混合runbook管理本地资

可以看到在服务器上已经能正常输出结果了

    Azure Automation混合runbook管理本地资

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/183727.html

(0)
上一篇 2021年11月2日 05:41
下一篇 2021年11月2日 05:42

相关推荐

发表回复

登录后才能评论