问题标签 [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.
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”,
}
这是我不断收到的错误:
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 的写入权限听起来像是分配了比所需更多的权限。
azure - 如何与 New-AzureRmResourceGroupDeployment cmdlet 一起传递额外参数
我正在编写一个 powershell 脚本来使用 New-AzureRmResourceGroupDeployment cmdlet 创建 VM,如下所示。
这用于创建虚拟机。在parameters.json
中,有一些参数,如等virtualMachineName
,networkInterfaceName
它们是硬编码的。
现在我正在尝试使这些脚本自动化,即当满足某些条件时,它们可以通过工具自行运行。
我的要求是,每当这个脚本运行时,它必须增加 VMName 中的数字。假设 VM Name 是 now VMName1
,它必须是VMName2
脚本下次运行的时候。下次VMName3
运行脚本时也是如此。由于virtualMachineName
参数是硬编码的,因此现在不会发生这种情况。无论如何我可以virtualMachineName
在脚本本身中作为参数传递,而不是从 json 文件中获取它。
非常感谢任何指导。谢谢!
azure - 动态创建 ARM 参数名称
我有一个需要动态生成参数名称的场景。像certificate1,certificate2,certificate3 ..等等。目前所有这些参数都应该在主模板中定义。我们可以使用复制在主/父模板中动态迭代和定义参数名称吗?或者在 ARM 模板中是否有一种方法可以实现这一点?
azure - 如何在 Azure 资源模板中指定用于 Web 应用部署的槽
我在 Azure 资源模板中有几个插槽,我试图弄清楚如何从参数 ( slot_for_deploy
) 中指定部署插槽,但我还没有找到解决方案。
当前模板:
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 中获取。
azure - 使用 Azure ARM 模板创建 AKS 群集并部署我的 Kubernetes 应用程序
我有一个想要使用 ARM 模板部署到 Azure 的 Kubernetes 应用程序。我创建了一个 Helm 图表,用于将应用程序部署到 Kubernetes,理想情况下,我希望 ARM 模板在创建 AKS 集群后调用 Helm 来部署应用程序。
有谁知道这样做的方法?我注意到有一个从预配的 VM 调用脚本的扩展名,创建的 AKS 是否有类似的扩展名?
azure - 内联对象作为链接模板部署的参数值
我希望能够将内联对象作为参数值传递给链接模板。用例是我有一个部署服务总线(或其他资源)的模板和一个部署 Web 应用程序的模板。我想构建一个结合这两个组件的模板。我希望 Web 应用程序模板有一个名为的对象参数userProvidedAppSettings
,我可以将其与一些默认值结合,然后将该生成的对象分配为 Microsoft.Web/site/config/appsettings 资源的属性值。
看来您目前不能在参数的内联对象值中使用 reference 或 listkeys 函数,请参见userProvidedAppSettings
下面的示例。
这可能吗,我没有使用适当的约定?我在文档中没有看到任何关于此的内容。
编辑:
澄清一下,这是关于链接模板参数值的行为。我特别问这个:
reference
输出被允许作为值,内联对象被允许作为值,但其值包含 a reference
(或函数的隐式引用list
)的内联对象是不允许的。我想知道这是否可以通过不同的约定实现,或者是否应该将其添加到所需功能的列表中。
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 磁盘时出现一个或多个错误。有关详细信息,请参阅磁盘实例视图。
请帮助解决此问题。
azure - 如何在 Azure ARM 模板中生成 unix 时间戳
我正在创建一个 ARM 模板来配置 keyvault 及其机密。我想在模板中生成 unix 时间戳,并提供只接受整数的属性nbf
。exp
在这方面找不到太多指针。
我指的是微软文档https://docs.microsoft.com/en-us/azure/templates/microsoft.keyvault/vaults/secrets
如果 ARM 模板中没有解决方案,那么我需要使用 powershell 生成并将其传递给我可能不喜欢的模板,除非没有其他选项。