利用Azure Automation实现云端自动化运维(1)

Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如:

  • 实现定时开关虚拟机,节约成本
  • 实现定时创建删除HDInsight cluster执行大数据计算任务
  • 定时备份虚拟机上的数据库
  • 定时归档或者删除无用的日志文件
  • 自动化部署或者更新应用
  • 等等

微软实际上有3个基于runbook的工作流引擎,用来完成不同的自动化工作:

  • Azure automation用来自动化云端Azure环境中的各项任务,也是基于Powershell
  • Windows Azure Pack里面的Service Management Automation主要是面向私有云的自动化引擎, 他和Azure Automation一样都是基于Powershell的自动化引擎, 并且使用同样格式的runbook,但SMA不支持graphical runbook
  • System Center 2012 R2 Orchestrator 工作流管理引擎用于管理用户数据中心的各种资源,但是他使用和Azure Automation和SMA不同格式的runbook

在Azure的Automation里面有一些基本的概念在开始之前需要了解一下:

Runbook:实际上在Azure Automation里面是一组执行自动化任务的集合,例如你要对某个虚拟机每天进行定时的日志备份和关机,那么这些日志备份和关机的操作就构成了一个runbook。你可以从头开始写一个自己的runbook,但是,实际上微软提供了非常多的现成的runbook,你可以直接使用:

https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=WindowsAzure&f%5B1%5D.Type=SubCategory&f%5B1%5D.Value=WindowsAzure_automation&f%5B1%5D.Text=Automation

自动化账户:在Azure中创建的用来管理Runbook的账户,一个自动化账户下可以有多个runbook。

Azure Automation DSC:Powershell的Desired State Configuration是一个管理平台,循序你使用声明式的Powershell部署管理你的虚拟机,而Azure Automation的DSC是一个基于Azure云端的Powerhsll DSC解决方案,可以让你把你的服务器配置,通过DSC的pull server,应用到云端

在本文中,针对Azure的automation主要介绍如下三个内容:

  • Runbook的创建及配置
  • Azure automation的认证方式:OrgID和密码
  • Azure automation的认证方式:证书
  • 实际案例:定时开/关虚拟机

Runbook的创建及配置

  1. 进入Azure的管理界面,单击新建,可以在应用程序服务->自动化->runbook中创建新的runbook,刚开始的时候选择新建自动化管理账户,输入自动化管理账户的名字,选择你要部署的地区,单击创建:

  2. 在新建runbook的时候,也可以选择自库中,目前库中一种内置了非常多的样本脚本,稍作修改即可使用:

  3. 创建完成后,选择自动化下你新建的自动化账户,进入服务界面可以看到:

    仪表板:显示你的自动化资源使用和调度,以及运行的工作情况

    Runbook:是在你当前的自动化账户下的runbook,可以创建,编辑和修改

    资产:你可以定义一些公用的数据,比如订阅名称,凭证等等,多个不同的runbook可以共享

    缩放:你可以定义你的自动化服务计划,免费几乎每个月有500分钟的免费,基本加护没有时间限制,是付费的

时间: 2024-10-06 21:34:39

利用Azure Automation实现云端自动化运维(1)的相关文章

利用Azure Automation实现云端自动化运维(4)

在上述基本准备工作做完后,wo们看看如何实现利用Azure Automation实现定时自动开关机的操作,这种场景非常适合Dev/Test环境,因为Azure的虚拟机是按照分钟收费的,所以我们可以在开发测试人员上班的时候打开虚拟机,而在下班,周末的时候关闭虚拟机,从而节约成本,从另外一个层面来讲,也是体现云的灵活性. 首先讲一下设计的基本原则,如何做能让你的自动化脚本更灵活,更具有可移植性: 参数化:尽量不要在脚本中写死任何变量,负责除了修改代码,别无他法,而且可维护性会变的很差 合理使用资产:

利用Azure Automation实现云端自动化运维(3)

Azure automation的认证方式:证书 该种方式是推荐的进行Automation认证的方式,好处在于安全性高,过期时间由自己控制,不好的地方在于大家在Windows上要生成证书比较麻烦,而且必须上传到Azure management和Automation, Automation需要两个文件:.pfx证书用于用户自动化端连接Azure,.cer文件,Azure管理端证书文件,这两个文件必须互相匹配. 对于创建证书,个人比较推荐的办法,或者我喜欢用的方法,就是利用开源的openssl工具,

利用Azure Automation实现云端自动化运维(2)

Azure automation的认证: 用户名和密码 在Azure的automation中使用Powershell可以管理当前订阅的资源,也可以管理不同订阅的资源,那么问题就来了,安全性如何保障呢?Azure的自动化和其他使用或者管理Azure的客户端一样,对任何需要管理的Azure,都需要认证,最基本的有两种认证方式,一种是基于订阅的用户名密码的,一种是基于证书的,本节介绍基于用户名密码. 不建议直接在automation中使用当前管理生产订阅的账号的OrgID和密码,建议单独为automa

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

IPhone手机利用Siri自动化运维思路

前言 最近研究智能家居与Siri结合,突发奇想:运维是否也可以通过Siri去下指令? 那答案当然是肯定,简单测试一番,大概是这样的画风: 对着Siri说相对应的执行对象与方法,脚本执行后,返回结果,Siri读出执行返回结果. 思路 使用Apple快捷指令做脚本逻辑. 脚本执行触发现有运维平台,平台根据内容去做运维处理操作. 实现 打开快捷指令 编辑流程 听写文本 语言 中文停止聆听 较短暂暂停之后 获取变量 变量 听写的文本 文本 输入运维平台API 获取URL内容 方法POSTPOST内容使用

新书《Linux集群和自动化运维》目录

推荐序一 在全球"互联网+"的大背景下,互联网创业企业的数量如雨后春笋般大量产生并得到了快速发展!对"互联网+"最有力的支撑就是Linux运维架构师.云计算和大数据工程师,以及自动化开发工程师等! 但是,随着计算机技术的发展,企业对Linux运维人员的能力要求越来越高,这就使得很多想入门运维的新手不知所措,望而却步,甚至努力了很久却仍然徘徊在运维岗位的边缘:而有些已经工作了的运维人员也往往是疲于奔命,没有时间和精力去学习企业所需的新知识和新技能,从而使得个人的职业发

简单聊一聊Ansible自动化运维

一.Ansible概述 Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个.更为重要的是,它操作非常简单,即使小白也可以轻松上手,但它提供的功能又非常丰富,在运维领域,几乎可以做任何事. 1.Ansible特点 Ansible自2012年发布以来,很快在全球流行,其特点如下: Ansible基于Python开发,运维工程师对其二次

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

ansible自动化运维必备工具详解

第2章 ansible简单介绍: 2.1 ansible是什么? ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 仅需在管理工作站上安装 ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端. ansible 应用程序存在于 epel( 第三方社区 ) 源,依赖于很多 python 组件 python语言是运维人员必会的语言!ansible是一个基于Python开