【发布时间】:2018-02-10 12:54:54
【问题描述】:
【问题讨论】:
标签: powershell azure azure-blob-storage autoscaling
【问题讨论】:
标签: powershell azure azure-blob-storage autoscaling
我们可以使用Update-AzureRmVmss和Update-AzureRmVmssInstance来升级VMSS实例。
如果我们想使用自定义镜像来升级 Azure VMSS 实例,我们应该确保这个 VMSS 是由自定义镜像创建的。
如果我们从 Azure 市场创建 VMSS,我们不能使用自定义映像来升级 Azure VMSS 实例。
这是我的测试:
1.我通过自定义镜像创建VMSS,并使用VMSStemplate创建它(托管磁盘)。
2、创建另一个VM镜像,并使用此脚本获取$vmss,并使用Powershell升级VMSS实例:
$rgname = "vmsss"
$vmssname = "jasonvmss"
$instanceid = "1"
$newimagereference = "/subscriptions/5384xxxx-xxxx-xxxx-xxxx-xxxxe29axxxx/resourceGroups/jasonwin/providers/Microsoft.Compute/images/myImage"
$vmss = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssname
$vmss.virtualMachineProfile.storageProfile.imageReference.id = $newImageReference
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssname -VirtualMachineScaleSet $vmss
Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $instanceId
这是我的截图:
我们还可以找到VMSS实例的状态:
因此,作为一种解决方法,我们可以使用模板或 PowerShell使用自定义映像创建 Azure VMSS,然后使用此脚本升级 Azure VMSS 实例。
注意:在我的测试中,我使用模板创建VMSS是托管磁盘,所以我们应该使用$vmss.virtualMachineProfile.storageProfile.imageReference.id
如果你创建的 VMSS 是非托管磁盘,我们应该使用这个$vmss.virtualMachineProfile.storageProfile.osDisk.image.uri= $newURI。
这里是关于升级VMSS实例的官方文章,请参考it。
【讨论】:
根据FAQ on VMSS 和 VM,一般来说,VMSS 在 VHD 之上运行。因此,如果您有一个新的 VHD,那么您可以简单地删除旧的 VMSS,然后创建一个新的 VMSS。
这是我对你的情况的描述。
这个问题本身似乎很简单,除非你要求别的东西,我在自欺欺人:)
如果问题是其他问题,那么需要对问题进行更多解释,以便其他更有经验的 azure 人员可以帮助您。
【讨论】: