问题标签 [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.

0 投票
1 回答
1228 浏览

azure - Azure ARM 模板:如何使用模板创建 vnet 并将其与现有 vnet 对等?

部署 VNET 并将新部署的 VNET 与不同资源组中的现有 VNET 对等的 Azure ARM 模板?

请在下面找到 JSON 模板:

{“$schema”:“ https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json# ”,“contentVersion”:“1.0.0.0”,

}

这是我不断收到的错误:

0 投票
1 回答
6317 浏览

azure-resource-manager - 尝试从不同订阅中的 Keyvault 设置 WebApp 证书时,ResourceGroup 部署失败并出现“LinkedAuthorizationFailed”错误

我在尝试执行资源组部署时收到以下错误。

链接授权失败

“具有对象 id '' 的客户端 '' 有权在范围 /subscriptions/<subscriptionid1>/resourcegroups/<rgname1>/providers/Microsoft.Web/certificates/certificatename' 上执行操作 'Microsoft.Web/certificates / write ';但是,它无权对链接范围“/subscriptions/<subscriptionid2>/resourceGroups/<rgname2>/providers/Microsoft.KeyVault/vaults/keyvault01”执行“写入”操作

ARM 模板正在尝试从位于不同订阅中的 Keyvault 获取证书。该模板正在使用服务主体部署,并且已获得KeyVault 的读取权限。

如果我在服务主体的 Keyvault 上设置参与者角色或具有“Microsoft.KeyVault/vaults/write”权限的自定义角色,这将正常工作。我已确保 Microsoft.Azure.WebSites 具有 GET 权限并选中“启用对 Azure 资源管理器的访问以进行模板部署”。

ARM 模板与您在此处看到的类似: https ://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-certificate-from-key-vault

关于为什么这会因“读者”角色而失败的任何想法。授予对 Keyvault 的写入权限听起来像是分配了比所需更多的权限。

0 投票
1 回答
7911 浏览

azure - 如何与 New-AzureRmResourceGroupDeployment cmdlet 一起传递额外参数

我正在编写一个 powershell 脚本来使用 New-AzureRmResourceGroupDeployment cmdlet 创建 VM,如下所示。

这用于创建虚拟机。在parameters.json中,有一些参数,如等virtualMachineNamenetworkInterfaceName它们是硬编码的。
现在我正在尝试使这些脚本自动化,即当满足某些条件时,它们可以通过工具自行运行。

我的要求是,每当这个脚本运行时,它必须增加 VMName 中的数字。假设 VM Name 是 now VMName1,它必须是VMName2脚本下次运行的时候。下次VMName3运行脚本时也是如此。由于virtualMachineName参数是硬编码的,因此现在不会发生这种情况。无论如何我可以virtualMachineName在脚本本身中作为参数传递,而不是从 json 文件中获取它。

非常感谢任何指导。谢谢!

0 投票
2 回答
802 浏览

azure - 动态创建 ARM 参数名称

我有一个需要动态生成参数名称的场景。像certificate1,certificate2,certificate3 ..等等。目前所有这些参数都应该在主模板中定义。我们可以使用复制在主/父模板中动态迭代和定义参数名称吗?或者在 ARM 模板中是否有一种方法可以实现这一点?

0 投票
1 回答
89 浏览

azure - 如何在 Azure 资源模板中指定用于 Web 应用部署的槽

我在 Azure 资源模板中有几个插槽,我试图弄清楚如何从参数 ( slot_for_deploy) 中指定部署插槽,但我还没有找到解决方案。

当前模板:

0 投票
0 回答
398 浏览

git - Azure 资源组部署与来自非公共 GIT 的 ARM 链接模板

我可以使用来自 New-AzureRmResourceGroupDeployment 的 -TemplateUri 参数指向非公共 GIT 资源(不是 GitHub)吗?

有没有其他方法可以使用 GIT 作为 ARM 模板和链接模板的源(不使用 azure storage 或 azure function hack - 如下所述)?

上述问题的附加信息:

我正在尝试使用 VSTS 构建管道配置一些资源,但是为了这个问题,我将其限制为 powershell New-AzureRmResourceGroupDeployment 命令。

工作场景(无链接模板)

如果template.json没有链接/嵌套模板,则一切正常。当我添加链接模板时,由于链接模板文件的位置未知,它开始失败。这是非常清楚的 - 因为链接模板在我的本地计算机(或代理计算机)上,并且在资源管理器中不可见。

我决定使用 -templateUri 参数(template.json 在 Git repo 中)

如果我已登录,则指向资源的Git Api链接可以通过浏览器完美运行(所以它是正确的)。

执行上述命令时,我得到(XXX 与提供的 templateUri 完全相同):

同样,有点明显 - 由于授权重定向。

我发现了来自 Tao Yang 的一篇不错的博客文章,关于做同样的事情,但针对 GitHub。他不得不使用 Aruze 函数作为获取模板 json 的代理来破解它。我想在我的解决方案中避免代理。

另一种方法是为此使用Azure 存储和 SAS 令牌- 因此将模板从 Git 复制到 azure 存储,然后使用 SAS 令牌通过 URL 访问它。我也想避免使用天蓝色存储。

我尝试使用公共令牌template.json通过 git api 进行访问,如SO 上的答案之一所述,因此模板的 URL 如下所示:

但是我仍然收到 302 错误。

当然,如果我让 teplateUri 正常工作,那么下一步就是让它与链接模板一起工作,该模板也应该从 Git 中获取。

0 投票
1 回答
433 浏览

azure - 使用 Azure ARM 模板创建 AKS 群集并部署我的 Kubernetes 应用程序

我有一个想要使用 ARM 模板部署到 Azure 的 Kubernetes 应用程序。我创建了一个 Helm 图表,用于将应用程序部署到 Kubernetes,理想情况下,我希望 ARM 模板在创建 AKS 集群后调用 Helm 来部署应用程序。

有谁知道这样做的方法?我注意到有一个从预配的 VM 调用脚本的扩展名,创建的 AKS 是否有类似的扩展名?

0 投票
2 回答
634 浏览

azure - 内联对象作为链接模板部署的参数值

我希望能够将内联对象作为参数值传递给链接模板。用例是我有一个部署服务总线(或其他资源)的模板和一个部署 Web 应用程序的模板。我想构建一个结合这两个组件的模板。我希望 Web 应用程序模板有一个名为的对象参数userProvidedAppSettings,我可以将其与一些默认值结合,然后将该生成的对象分配为 Microsoft.Web/site/config/appsettings 资源的属性值。

看来您目前不能在参数的内联对象值中使用 reference 或 listkeys 函数,请参见userProvidedAppSettings下面的示例。

这可能吗,我没有使用适当的约定?我在文档中没有看到任何关于此的内容。

编辑:

澄清一下,这是关于链接模板参数值的行为。我特别问这个:

reference输出被允许作为值,内联对象被允许作为值,但其值包含 a reference(或函数的隐式引用list)的内联对象是不允许的。我想知道这是否可以通过不同的约定实现,或者是否应该将其添加到所需功能的列表中。

0 投票
1 回答
637 浏览

azure - 无法删除 Azure VM

我使用 ARM 模板创建 VM,但通过在 vm Profile 中添加 osdisk 和磁盘中的链接,这可能是我认为的主要问题。

Arm 模板:我添加 vhd 的 Osdisk 和磁盘代码:URI:“ https://foobar.blob.core.windows.net/vhds/foobar-os.vhd

删除 Azure VM 时在 Azure 门户中显示错误:

无法删除虚拟机“MyUbuntuVM”。

错误:准备 VM 磁盘时出现一个或多个错误。有关详细信息,请参阅磁盘实例视图。

请帮助解决此问题。

0 投票
2 回答
702 浏览

azure - 如何在 Azure ARM 模板中生成 unix 时间戳

我正在创建一个 ARM 模板来配置 keyvault 及其机密。我想在模板中生成 unix 时间戳,并提供只接受整数的属性nbfexp在这方面找不到太多指针。

我指的是微软文档https://docs.microsoft.com/en-us/azure/templates/microsoft.keyvault/vaults/secrets

如果 ARM 模板中没有解决方案,那么我需要使用 powershell 生成并将其传递给我可能不喜欢的模板,除非没有其他选项。