如何更新现有的 VMSS?

How do you update existing VMSS?

我不知道如何处理我在 Powershell 中使用模板执行的现有 VMSS 部署。例如,我希望所有 VM 现在都安装额外的扩展,这不是原始模板的一部分。如何将此扩展添加到所有机器?

您只需重新部署模板即可。它只会部署差异(因此请确保您使用相同的 username/password 等!)

小修改:如果您将 upgradePolicy.mode 设置为 "Manual",您还必须对每个要更新的 VM 执行 "Update-AzureRmVmssInstance" 调用;如果是"Automatic",它会自动并行到所有虚拟机;如果是 "Rolling"(在此处预览:https://github.com/Azure/vm-scale-sets/tree/master/preview/upgrade),它将分批推出。

您可以使用 Add-AzureRmVmssExtension PowerShell cmdlet 添加扩展。如果尚未安装最新版本的 Azure PowerShell。 或者 'az vmss extension set' 如果使用 CLI,例如在 Azure Cloud Shell.