查询Azure虚拟机扩展可用公共设置文档及ARM模板节点定向方法
Azure VM Extensions 公共设置与节点定向实操说明
我太懂这种找不到统一文档的憋屈了——Azure VM扩展的公共设置确实没有一个集中的汇总页面,相关参数都散落在各个扩展的专属文档里。针对你要在ARM模板里定向单个节点的需求,我整理了靠谱的技术细节和实操内容:
nodeName属性的核心技术要点
- 适用场景:主要用于虚拟机规模集(VMSS)环境下,把扩展部署精准定位到某一台特定的VM节点;单VM场景下其实不需要这个参数,但如果是从规模集模板复用过来也不会有问题
- 正确配置位置:必须放在扩展资源的
properties.settings对象中,和扩展自身的业务配置参数平级 - 完整模板示例片段:
{ "type": "Microsoft.Compute/virtualMachines/extensions", "name": "[concat(parameters('vmName'), '/CustomScriptExtension')]", "apiVersion": "2023-07-01", "location": "[resourceGroup().location]", "dependsOn": [ "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]" ], "properties": { "publisher": "Microsoft.Compute", "type": "CustomScriptExtension", "typeHandlerVersion": "1.10", "autoUpgradeMinorVersion": true, "settings": { "nodeName": "[parameters('targetNodeName')]", // 指定目标节点名称 "fileUris": ["https://example.com/scripts/configure-node.ps1"], "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File configure-node.ps1" } } }
通用公共设置参数(大部分扩展都支持)
虽然没有统一列表,但这些参数是绝大多数Azure VM扩展都兼容的:
autoUpgradeMinorVersion:布尔值,默认true,控制是否自动升级扩展的次要版本protectedSettings:用于存储敏感信息(比如密码、存储账户密钥),这部分内容会被加密,不会在API响应中返回timestamp:字符串或数值类型,当这个值变更时,会触发扩展重新执行配置逻辑,常用于强制刷新节点配置
如何获取特定扩展的完整设置
如果需要某类特定扩展的全部支持参数,只能去对应扩展的官方文档里找——比如CustomScriptExtension、DSC Extension、AzureMonitorAgent这些,每个扩展的文档都会详细列出专属的设置项。确实没有统一的公共设置汇总页,这也是Azure文档目前的一个小遗憾。
内容的提问来源于stack exchange,提问作者Massimo
相关产品推荐
相关产品推荐

