如何更新比例集图像&虚拟机

时间:2017-06-16 06:24:45

标签: azure azure-vm-scale-set

假设我已经从图像创建了一个比例集,其中包含5个VM。

现在假设我的应用程序有更新,如何推送此更新,以便使用最新的应用程序代码更新映像,并将更新推送到ScaleSet中的所有当前运行的Vm,也是下次ScaleSet使用更新的IMAGE

启动新的vm

谢谢

1 个答案:

答案 0 :(得分:0)

如果您使用的是自定义图片,则可以执行以下操作:

$rgname = "resourceGroupName"
$vmssname = "vmssName"
$instanceid = "1" # How Many instances we update simultaneously

$vmss = Get-AzureRmVmss -ResourceGroupName $rgname `
  -VMScaleSetName $vmssname
$vmss.virtualMachineProfile.storageProfile.osDisk.image.uri `
  = $newURI #update image URI
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssname `
  -VirtualMachineScaleSet $vmss # push changes
Update-AzureRmVmssInstance -ResourceGroupName $rgname `
  -VMScaleSetName $vmssname -InstanceId $instanceId # start update

因此,通常您需要向VMSS提供新的或更新的映像,然后调用更新。

一些阅读:
https://msftstack.wordpress.com/2016/05/17/how-to-upgrade-an-azure-vm-scale-set-without-shutting-it-down/