zoukankan      html  css  js  c++  java
  • Azure ARM (5) ARM Template初探

      《Windows Azure Platform 系列文章目录

         Azure ARM (1) 概览

         Azure ARM (2) 概览

         Azure ARM (3) ARM支持的服务类型

         Azure ARM (4) 开始创建ARM Resource Group并创建存储账户

      本文需要的ARM Template,在这里下载。

      

      在之前的文章里,笔者介绍了:我们可以在ARM模式下,通过JSON Template来部署Azure资源。通过使用JSON Template,我们可以重复部署多个Azure资源。

      这个对于独立软件开发商(ISV)来说是非常重要的。比如厂商Contoso基于微软Azure开发了一套多租户的产品,给客户A使用。当客户B需要使用的时候,Contoso管理员只要从客户A的环境里,将Azure Deployment的JSON Template导出,进行相应的修改。然后再部署到Azure环境,即可把该环境提供给客户B使用。这种需要重复部署Azure资源的场景,非常适合使用Azure JSON Template。

      而且,当我们需要同时部署开发环境和测试环境,使用JSON Template也可以非常快速完成相应操作。

      

      在上一章内容中,笔者首先介绍了如何创建一个Azure Resource Group(命名为LeiResourceGroup),然后在这个Resource Group下创建Azure Storage Account(leistorageaccount)。

      我们不直接创建一个空的ARM Template,而是基于之前几章的内容。介绍一下ARM Template的架构。

      1.我们访问Azure New Portal: https://portal.azure.cn

      2.选中之前创建的LeiResourceGroup,点击Automation Script。如下图:

      

      上图中要特别注意右上角的几个参数。如下图:

      

      (1) Template:这表示Resource Group下包含的Azure资源。我们这里只包含了Azure Storage Account

         Template对Azure资源进行了定义。

      (2) Parameters :Parameters 定义了参数值。我们可以通过修改Partmeters文件内容,来决定Template部署的内容名称。

        Parameters可以理解为Web.config文件。

      (3) CLI: Azure命令行工具(command-line-interface,CLI),是由Azure服务器端生成的CLI部署模板。

      (4) PowerShell: 由Azure服务器生成的Azure PowerShell部署模板。

      (5) .NET: 由Azure服务器端生成的.NET部署模板

      (6)Ruby: 由Azure服务器端生成的Ruby部署模板。

      本节我们不直接创建一个空的ARM Templat一般性的执行过程是这样的:

      (1)我们根据需要,下载不同语言的Azure Template

      (2)查看Template文件,修改里面需要的Azure资源,比如增加或者减少Azure Virtual Machine, Azure Virtual Network,Storage Account等

      (3)根据自己的需求,修改Parameters 里面定义的参数值。比如VM Name, VNet Name, Storage Account Name等

      (4)使用不同的方法(CLI, PowerShell, .NET或者Ruby),部署需要的Azure Template

     

      3.我们点击上图中,点击Download。如下图:

      

      将下载好的文件,保存在D盘根目录下。然后解压缩。

       

      4.我们这里不做大的修改。主要修改以下内容:

      (1)修改deploy.ps1里面的Add-AzureRmAccount,修改为:Add-AzureRmAccount -EnvironmentName AzureChinaCloud;

      现在默认的Azure Template PowerShell是指向到海外Azure。

      (2)修改deploy.ps1,注释以下内容:

    # Register RPs
    #$resourceProviders = @("microsoft.storage");
    #if($resourceProviders.length) {
    #    Write-Host "Registering resource providers"
    #    foreach($resourceProvider in $resourceProviders) {
    #       RegisterRP($resourceProvider);
    #    }
    #}

      (3)template.json不要修改

      (4)修改parameters.json里面的参数值,value为"leistorageaccountnew",注意value有双引号,然后值必须小写(因为存储账户名称必须为小写)

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccounts_leistorageaccount_name": {
                "value": "leistorageaccountnew"
            }
        }
    }

      4.请注意:deploy.ps1里面的PowerShell语法,是增量部署。

      5.修改完毕后,我们打开Azure PowerShell,执行这个deploy.ps1。命令如下:

    .deploy.ps1 -subscriptionId "fa02e842-5d77-4a05-9089-7ce3fdb786e0" -resourceGroupName "LeiResourceGroup" -resourceGroupLocation "China East" -deploymentName "Lei Test on 2016/10/7" -templateFilePath "D:DesktopARMExportedTemplate-LeiResourceGroup	emplate.json" -parametersFilePath "D:DesktopARMExportedTemplate-LeiResourceGroupparameters.json"

      我们分别设置了subscriptionId,ResourceGroupName,resourceGroupLocation,deploymentName和templateFilePath,parametersFilePath 

      6.PowerShell正常执行:

      7.我们再查看Azure New Portal,可以查看到本节新增的Azure Storage Account:

      这个Storage Account就是通过Template部署的

      

      参考资料:https://azure.microsoft.com/en-us/documentation/articles/resource-manager-export-template/

  • 相关阅读:
    插入排序
    选择排序
    二分法查找
    pickle模块的使用
    循环和递归求阶乘、递归实现汉诺塔程序、递归实现拆出每个位的数字放在列表中、递归求第五个人的年龄
    app测试和测试基础
    TCP协议中的三次握手和四次挥手及其他
    AcWing 122 糖果传递
    AcWing 121 赶牛入圈 (二分+离散化)
    AcWing 120 防线 (二分)
  • 原文地址:https://www.cnblogs.com/threestone/p/5998095.html
Copyright © 2011-2022 走看看