【问题标题】:Creating Azure App Service Plans in an App Service Environments using Azure Powershell使用 Azure Powershell 在应用服务环境中创建 Azure 应用服务计划
【发布时间】:2015-09-16 05:52:42
【问题描述】:

我正在尝试使用 Azure 应用服务环境 (ASE),但在使用 Powershell 在 ASE 中创建应用服务计划 (ASP) 时遇到了困难。我曾尝试使用New-AzureResourceNew-AzureResourceGroupDeployment cmdlet 这样做,但都以无益的方式失败。我需要能够以编程方式为我们的 CI 配置和部署过程创建这些(使用 TeamCity)。

我手动创建了 ASE,因为它们需要 3 多个小时才能启动(旁注:为什么,Microsoft,为什么用 ASE 做任何事情需要 3 多个小时?),并将工作池 1 定义为两个节点P1 游泳池。

然后明智地使用 http://resources.azure.com 工具,我能够提取定义 ASP 的属性。

然后我为新的 ASP 创建了一个简单的模板:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
"resources": [

        {
            "apiVersion": "2015-06-01",
            "name": "rg-ase-dev-asp-wp1-2",
            "type": "Microsoft.Web/serverfarms",
            "location": "East US",
            "properties": {
                "name": "rg-ase-dev-asp-wp1-2",
                "sku": "Premium",
                "workerSize": 0,
                "numberOfWorkers": "1",
                "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments',parameters('rg-ase-dev'))]"
            }
        }
    ]
}

然后使用模板:

reResourceGroup1\Templates> New-AzureResourceGroupDeployment -ResourceGroupName
"rg-ase-dev" -TemplateFile .\ase_asp_only.json -Verbose
VERBOSE: 12:37:28 PM - Template is valid.
VERBOSE: 12:37:29 PM - Create template deployment 'ase_asp_only'.
VERBOSE: 12:37:36 PM - Resource Microsoft.Web/serverfarms
'rg-ase-dev-asp-wp1-2' provisioning status is running

此命令将持续失败(即它将在​​预览门户中生成部署失败通知)几个小时,直到我想它被 Azure 后端杀死。

我已经为模板尝试了大多数 ASP 属性值的组合,但没有任何效果。我也尝试在同一个模板中创建一个 ASP 和一个依赖的 WebApp,我认为既然 ASP 只有绑定了一个 webapp 才能存在,那就是我的问题。那也失败了。

有没有人让模板化的 ASP 部署工作?或者这甚至是受支持的操作?

【问题讨论】:

  • 我使用模板来部署应用服务计划,但不是在 ASE 中。
  • @BenV 您介意发布您的 ASP 模板的适当 sn-p 吗?我已经从 ASE 中提取了所有内容,但仍然无法创建简单的 Webapp/ASP/Resource Group 堆栈。再说一次,今天对我来说,Azure 比馅饼皮还要脆,所以我不知道我是否看到了这种伪影,或者我完全错过了 ASP 模板的某些内容。
  • 它看起来很像你的,除了没有 hostingEnvironmentId。我也在使用 apiVersion 2014-06-01。当我将其更改为 2015 时,我得到的结果与您描述的相同。

标签: azure azure-web-app-service azure-resource-manager azure-app-service-envrmnt


【解决方案1】:

因此,毫不奇怪,完全缺乏 Azure 文档浪费了我更多的时间。

问题在于 ASE 资源的 apiVersion。您不能使用最新版本,看起来版本是 resource 特定的,但如果您正在创建 new,它看起来也很重要 only > 资源,因此您将根据操作获得不一致的结果。

同样令人担忧的是,模板验证得很好,但实际部署只是挂起。如果您遇到类似这样的挂起部署,请检查您的 apiVersion:

PS C:\Templates> New-AzureResourceGroupDeployment -ResourceGroupName
"rg-ase-dev"  -TemplateFile .\ase_asp_only.json -Verbose
VERBOSE: 12:08:24 PM - Template is valid.
VERBOSE: 12:08:25 PM - Create template deployment 'ase_asp_only'.
VERBOSE: 12:08:27 PM - Resource Microsoft.Web/serverFarms
'rg-ase-dev-asp-wp1-2' provisioning status is running

(this hangs)

AFAICT,ARMExplorer 似乎在指向资源的链接中提供了有效的 apiVersion,因此我将坚持使用这些版本,直到 Microsoft 不可避免地破坏它。

什么是皮塔饼。

【讨论】:

  • 还有 PS:ASP 需要在其模板中使用hostingEnvironment 参数才能在 ASE 中成功创建。单独使用hostingEnvironmentId 是行不通的。
【解决方案2】:

我建议使用gallery template 创建一个空的网络应用程序,它使用网络应用程序创建一个应用服务计划。

  New-AzureResourceGroup -Name <groupname> -Location "<location>" -GalleryTemplateIdentity Microsoft.WebSite.0.3.17-preview

你可以保存模板

  Save-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.3.17-preview -Path <local path to save file>

【讨论】:

  • 他想在应用服务环境中创建应用服务计划,而标准模板不这样做。
猜你喜欢
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多