问题标签 [azure-template]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 当我部署我的 Azure ARM 模板时,它会创建一个存储,而不是一个警报
我为警报创建了一个 Azure 模板,因为我想同时上传带有新微服务的脚本 (.json)。但是如果我部署这个 .json 文件,它会创建一个新的存储,而不是一个警报。我使用了 Powershell 命令New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateFile c:\MyTemplates\storage.json -storageAccountType Standard_GRS
。在我的模板中,我需要定义参数kind
,它只能接受值为Storage
or Blobstorage
,但我不想要这两个。那么我如何通过使用脚本 .json 文件来创建警报,并且是否有人有模板,因为 MS 没有提供正确的模板。
编辑:这是 .json 文件:
azure - Azure RM 模板。在不删除子网的情况下更改 vNet 的 DNS 服务器
我正在创建一个 ARM 模板,将可变数量的备份域控制器部署到现有的虚拟网络。我需要更改现有虚拟网络的 DNS 服务器。问题是我的虚拟网络彼此具有完全不同的子网,当我部署以下资源时,现有子网消失了。如何只更改虚拟网络的 DNS 服务器属性,而不影响其他属性?
我知道我可以指定现有子网,但是我有很多子网名称和地址范围完全不同的虚拟网络,通过参数指定它们将是一场噩梦。
azure - 天蓝色自动化帐户中的 sku.family 和 sku.capacity 属性可以传递哪些值
这是用于创建 azure 自动化帐户的模板格式资源的链接。什么是自动化账户的 sku 、 sku.family 和 sku.capacity?
通常我们可以在没有 sku.family 和 sku.capacity 属性的情况下创建 azure 自动化。但是可以传递给这些资源以创建 arm 模板的可能值是什么。
可以传递的 sku.family 及其对应的 sku.capacity 可能是什么???
sku.family 和 sku.capacity 一般用于 azure Resources 有什么用???
azure - Azure 模板中的引用模板
我有一个存储在 Azure 模板中的 ARM 模板。
有没有办法从脚本中引用这个模板(在 Azure Cloud Shell 或本地机器上的 PowerShell/CLI 中)?现在看来,部署模板的唯一方法是通过 Azure 门户 UI。
更新
我想澄清我在问什么。我专门询问Azure Templates (Preview)
服务。似乎一旦将模板存储在模板服务中,访问它的唯一方法就是通过 Azure 门户。
例如,假设我正在 Azure 门户中创建一个 VM。我可以将 ARM 模板保存到 Templates 服务,如下图所示。
您可以单击Download Template and parameters
链接,在下一页单击Add to library
以将模板保存到模板服务(可以在 Azure 门户中通过“所有服务”>“模板”过滤器找到模板服务)。
我在 edX.org 上做课程:自动化 Azure 工作负载,它正在谈论这项服务,这就是我对这项服务感兴趣的原因。
azure - 如何在 ARM 模板中多次运行相同的脚本?
我有一个用于在 ARM 模板中安装 VSTS 构建代理的 powershell 脚本。此模板基于此处的 azure 快速入门模板。
我想使用该"copy"
函数多次运行脚本,因为我想在部署 VM 时安装 10 个代理。当我尝试部署我的模板时,我收到此错误:
我的问题是,我怎样才能安装 10 个具有该copy
功能的构建代理,以便我拥有vsts-agent-1, vsts-agent-2, etc
?
这是模板的相关片段:
编辑1
我已更新模板并将子资源移出,以便子资源与父资源处于同一级别。此部分现在如下所示:
但是,当我尝试部署时,出现此错误:
Error: Code=InvalidTemplate; Message=Deployment template validation failed:
The template resource 'CustomScript' for type 'Microsoft.Compute/virtualMachines/extensions' at line '247' and column '9' has incorrect segment lengths. A nested resource type must have identical number of segments as its resource name. A root resource type must have segment length one greater than its resource name.
azure - 如何使用 ARM 模板启用 SQL 身份验证?
我有一个 ARM 模板,它使用以下图像部署多个 Azure VM:
SQLIaaS VM 扩展没有让 SQL Server 处于 SQL 身份验证模式,也没有创建 SQL 身份验证帐户。否则一切正常。这是 ARM 模板的 SQLIaaS 部分的片段。为什么没有设置 SQL Auth 的任何想法?
powershell - 创建或更新策略的输入格式不正确(PowerShell 脚本中的 .json 模板)
我正在尝试从 powershell 脚本部署资源组。该脚本从 .json 模板中获取参数等。
对于另一个资源组它工作正常(我只需要插入“adminPassword”参数),但现在我有另一个资源组,我无法从这个脚本重新部署。首先我想我只需要在之前添加参数,但是这个模板有不同的结构等等。所以这意味着我找不到插入参数的地方。
但这不是问题。当我运行脚本时,我收到以下错误:
(抱歉格式不好)
我查看了模板,powershell 不喜欢的参数之一如下:
这就像 Microsoft 的文档(https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-deploy)
因此,我不知道为什么这不起作用,对于其他资源组及其模板起作用。
我希望你能理解我的问题。
提前致谢!
PS模板:{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"virtualNetworks_alp_prd_core_vnet1_name": {
"defaultValue": "alp-prd-core-vnet1",
"type": "String"
},
"vaults_alp_prd_core_rsvault1_name": {
"defaultValue": "alp-prd-core-rsvault1",
"type": "String"
},
"subnets_internal_name": {
"defaultValue": "internal",
"type": "String"
},
"backupPolicies_DefaultPolicy_name": {
"defaultValue": "DefaultPolicy",
"type": "String"
},
"backupPolicies_HourlyLogBackup_name": {
"defaultValue": "HourlyLogBackup",
"type": "String"
},
"backupPolicies_%name%_Backup_Policy_name": {
"defaultValue": "%name%-Backup-Policy",
"type": "String"
},
"replicationAlertSettings_defaultAlertSetting_name": {
"defaultValue": "defaultAlertSetting",
"type": "String"
},
"virtualNetworkPeerings_alp_prd_core_vnet1_Net_Sync_name": {
"defaultValue": "alp-prd-core-vnet1-Net-Sync",
"type": "String"
},
"virtualNetworks_alp_prd_core_vnet1_id": {
"defaultValue": "/subscriptions/%subsciptionID%/resourceGroups/NemetschekgroupAD/providers/Microsoft.Network/virtualNetworks/Net-Sync",
"type": "String"
},
"virtualNetworkPeerings_alp_prd_core_vnet1_Net_Sync_id": {
"defaultValue": "/subscriptions/%subsciptionID%/resourceGroups/NemetschekgroupAD/providers/Microsoft.Network/virtualNetworks/Net-Sync",
"type": "String"
}
},
"variables": {},
"resources": [
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourceGroups/alp-prd-core-rg/providers/Microsoft.Network/virtualNetworks/alp-prd-core-vnet1'.",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('virtualNetworks_alp_prd_core_vnet1_name')]",
"apiVersion": "2018-02-01",
"location": "westeurope",
"scale": null,
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "940c1d33-bbf4-4b01-a331-8096e8066a0a",
"addressSpace": {
"addressPrefixes": [
"10.11.0.112/28"
]
},
"subnets": [
{
"name": "internal",
"etag": "W/\"b5fce13f-36b0-4d55-aa19-755a78b696f2\"",
"properties": {
"provisioningState": "Succeeded",
"addressPrefix": "10.11.0.112/28"
}
}
],
"virtualNetworkPeerings": [
{
"name": "[concat(parameters('virtualNetworks_alp_prd_core_vnet1_name'),'-Net-Sync')]",
"etag": "W/\"b5fce13f-36b0-4d55-aa19-755a78b696f2\"",
"properties": {
"provisioningState": "Succeeded",
"peeringState": "Connected",
"remoteVirtualNetwork": {
"id": "[parameters('virtualNetworks_alp_prd_core_vnet1_id')]"
},
"allowVirtualNetworkAccess": true,
"allowForwardedTraffic": false,
"allowGatewayTransit": false,
"useRemoteGateways": true,
"remoteAddressSpace": {
"addressPrefixes": [
"10.11.0.0/28",
"10.11.0.16/28"
]
}
}
}
],
"enableDdosProtection": false,
"enableVmProtection": false
},
"dependsOn": []
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourceGroups/alp-prd-core-rg/providers/Microsoft.RecoveryServices/vaults/alp-prd-core-rsvault1'.",
"type": "Microsoft.RecoveryServices/vaults",
"sku": {
"name": "RS0",
"tier": "Standard"
},
"name": "[parameters('vaults_alp_prd_core_rsvault1_name')]",
"apiVersion": "2018-01-10",
"location": "westeurope",
"scale": null,
"properties": {},
"dependsOn": []
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourceGroups/alp-prd-core-rg/providers/Microsoft.Network/virtualNetworks/alp-prd-core-vnet1/subnets/internal'.",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[concat(parameters('virtualNetworks_alp_prd_core_vnet1_name'), '/', parameters('subnets_internal_name'))]",
"apiVersion": "2018-02-01",
"scale": null,
"properties": {
"provisioningState": "Succeeded",
"addressPrefix": "10.11.0.112/28"
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_alp_prd_core_vnet1_name'))]"
]
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourceGroups/alp-prd-core-rg/providers/Microsoft.Network/virtualNetworks/alp-prd-core-vnet1/virtualNetworkPeerings/alp-prd-core-vnet1-Net-Sync'.",
"type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings",
"name": "[concat(parameters('virtualNetworks_alp_prd_core_vnet1_name'), '/', parameters('virtualNetworkPeerings_alp_prd_core_vnet1_Net_Sync_name'))]",
"apiVersion": "2018-02-01",
"scale": null,
"properties": {
"provisioningState": "Succeeded",
"peeringState": "Connected",
"remoteVirtualNetwork": {
"id": "[parameters('virtualNetworkPeerings_alp_prd_core_vnet1_Net_Sync_id')]"
},
"allowVirtualNetworkAccess": true,
"allowForwardedTraffic": false,
"allowGatewayTransit": false,
"useRemoteGateways": true,
"remoteAddressSpace": {
"addressPrefixes": [
"10.11.0.0/28",
"10.11.0.16/28"
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_alp_prd_core_vnet1_name'))]"
]
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourcegroups/alp-prd-core-rg/providers/Microsoft.RecoveryServices/vaults/alp-prd-core-rsvault1/backupPolicies/%name%-Backup-Policy'.",
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
"name": "[concat(parameters('vaults_alp_prd_core_rsvault1_name'), '/', parameters('backupPolicies_%name%_Backup_Policy_name'))]",
"apiVersion": "2016-12-01",
"scale": null,
"properties": {
"backupManagementType": "AzureIaasVM",
"protectedItemsCount": 0
},
"dependsOn": [
"[resourceId('Microsoft.RecoveryServices/vaults', parameters('vaults_alp_prd_core_rsvault1_name'))]"
]
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourcegroups/alp-prd-core-rg/providers/Microsoft.RecoveryServices/vaults/alp-prd-core-rsvault1/backupPolicies/HourlyLogBackup'.",
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
"name": "[concat(parameters('vaults_alp_prd_core_rsvault1_name'), '/', parameters('backupPolicies_HourlyLogBackup_name'))]",
"apiVersion": "2016-12-01",
"scale": null,
"properties": {
"backupManagementType": "AzureWorkload",
"protectedItemsCount": 0
},
"dependsOn": [
"[resourceId('Microsoft.RecoveryServices/vaults', parameters('vaults_alp_prd_core_rsvault1_name'))]"
]
},
{
"comments": "Generalized from resource: '/subscriptions/%subsciptionID%/resourcegroups/alp-prd-core-rg/providers/Microsoft.RecoveryServices/vaults/alp-prd-core-rsvault1/backupPolicies/DefaultPolicy'.",
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
"name": "[concat(parameters('vaults_alp_prd_core_rsvault1_name'), '/', parameters('backupPolicies_DefaultPolicy_name'))]",
"apiVersion": "2016-12-01",
"scale": null,
"properties": {
"backupManagementType": "AzureIaasVM",
"protectedItemsCount": 0
},
"dependsOn": [
"[resourceId('Microsoft.RecoveryServices/vaults', parameters('vaults_alp_prd_core_rsvault1_name'))]"
]
},
{
"comments": "Generalized from resource: '/Subscriptions/%subsciptionID%/resourceGroups/alp-prd-core-rg/providers/Microsoft.RecoveryServices/vaults/alp-prd-core-rsvault1/replicationAlertSettings/defaultAlertSetting'.",
"type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
"name": "[concat(parameters('vaults_alp_prd_core_rsvault1_name'), '/', parameters('replicationAlertSettings_defaultAlertSetting_name'))]",
"apiVersion": "2018-01-10",
"scale": null,
"properties": {
"sendToOwners": "DoNotSend",
"customEmailAddresses": [],
"locale": ""
},
"dependsOn": [
"[resourceId('Microsoft.RecoveryServices/vaults', parameters('vaults_alp_prd_core_rsvault1_name'))]"
]
}
]
}
azure - 修改/更换探针导致 CannotModifyRuleUsedByProbeUsedByVMSS
我创建了一个带有负载平衡器的 vmss 和为 http 80 地址配置的探针/
。
我现在已经使用专用的活动路由更新了我的应用程序,例如/api/alive
,它可以更快地回复基本 url,这就是我想用作负载平衡规则的探针的那个。
我已经用新的探测详细信息更新了我的模板(基础是https://github.com/Azure/vm-scale-sets/blob/master/preview/upgrade/autoupdate.json),但我不断收到以下信息错误:
无论我尝试哪种方式,删除所有探针,仅修改探针的详细信息,我都会不断收到此错误。
我们是否打算让规模集中的所有 VM 来更新探测?还有其他方法吗?非常感谢您提前提供的任何帮助。
更新
之前的模板:https ://pastebin.com/YisgUbRk
之后的模板:https ://pastebin.com/2VmgPMur
我正在尝试用saProbe
规则和 VMSS替换规则httpProbe
和sshProbe
VMSS。
我也尝试将 VMSS 探测保留为saProbe
并将其添加httpProbe
到 LB 规则中,但这也不起作用,得到了同样的错误。
这是 saProbe https://pasteboard.co/HuKMcwA.png的当前设置,它们与粘贴后的内容相匹配。
更新 2
试图保持saProbe
LB 规则,但将 VM 探测更改为sshProbe
,结果相同,webhttpslb
规则错误相同。
关于如何优雅地更换探头的任何建议?没有负载均衡和虚拟机停机时间?
更新 3
尼尔,确实是正确的(好地方!)还有一个我没有注意到的额外变化。
但是,现在很明显,我实际上想要实现的目标可能是不可能的。我将 saProbe 保留在 LB 规则上,但将 VMSS 探针更改为sshProbe
并收到此错误:
"error": {
"details": [],
"code": "CannotUseInactiveHealthProbe",
"message": "VM scale set /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Compute/virtualMachineScaleSets/RESNAME cannot use probe /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Network/loadBalancers/RESNAME-lb/probes/sshProbe as a HealthProbe because load balancing rules (weblb, webhttpslb) that send traffic to the scale set IPs in backend address pools (RESNAME-bepool) do not use this probe."
}
谁能证实这一点?如果我添加一个虚拟规则来激活sshProbe
? 这种情况的最佳实践是什么?
更新 4
是的,首先从 VMSS 中移除探针是关键。不得不运行模板几次,但现在最终只包括httpProbe
附加到规则和 VMSS。
json - 如何使用 Json 模板 Azure 将 Runbook 操作添加到度量规则(经典)?
我有一个关于如何将 Runbook 操作添加到我的指标警报的问题,有很多关于向所有者发送电子邮件的文档,但没有一个说明操作 Runbook。
这是我创建指标警报的模板:
没有关于添加 RuleAction 的文档,并且在使用 Json 模板创建虚拟机后我卡在了这一点上。
谢谢你。
azure - Azure 资源在部署时找不到依赖关系
我正在尝试使用模板部署 Azure Windows VM 并不断遇到错误code: InvalidResourceReference Resource X referenced by Resource Y was not found
。资源 X 是Microsoft.Network/networkSecurityGroups
(命名为“FBI”),资源 Y 是Microsoft.Network/networkInterfaces
(命名为 vInterface)。
我所有需要的资源都是在此部署期间创建的,它们的依赖项在模板中设置。我做的第一件事是确认我的 FBI 资源存在,它确实做到了:
接下来,我确保我的 FBI 安全组在 vInterface 中被列为依赖项,以确保在创建 vInterface 之前首先创建 FBI,它是:
我可以确认这两个资源的位置相同。一切看起来都不错,但我不知道为什么我的 vInterface 找不到/看到我的 FBI 安全组。
以下是完整的错误消息供参考: