如何在Azure中自动分类VM

时间:2017-08-24 12:36:56

标签: windows azure virtual-machine autoscaling azure-resource-manager

我有一个Windows VM,我想在其上实现自动缩放。

目前,Azure Scaleset不接受已经创建的VM。

有没有人在基于CPU指标的AWS上实现Azure VM上的Autoscaling?

2 个答案:

答案 0 :(得分:1)

  

是否有人在Azure上实施Autoscaling,就像在AWS上那样   基于CPU指标?

正如Rudi所说,我们可以使用Azure虚拟机规模集来实现这一目标。 VMSS可以扩展或扩展,创建另一个可扩展的VM,删除要扩展的VM。

在Azure中,我们可以使用Runbook进行扩展或缩小。使用调整大小VM大小来实现此目的。

我们可以通过Azure门户设置: 指标 - >添加指标提醒 - >选择Runbook:

enter image description here

注意

通过这种方式,向上扩展或向下扩展将重新启动您的VM。

<强>更新

如果要将Azure VM 水平扩展。我想我们可以使用Azure VMSS 。 使用自动缩放规则来实现它。

有关Azure VMSS的详细信息,请参阅此link

<强> UPDATE2:

我们可以使用Powershell 将托管磁盘复制到Azure存储帐户,我们可以使用此PowerShell脚本:

##create $SAS
$sas = Grant-AzureRmDiskAccess -ResourceGroupName shui -DiskName test -DurationInSecond 3600 -Access Read 
$destContext = New-AzureStorageContext –StorageAccountName contosostorageav1 -StorageAccountKey 'YourStorageAccountKey' 
Start-AzureStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer 'vhds' -DestContext $destContext -DestBlob 'MyDestinationBlobName.vhd'

<强> UPDATE3:

我们可以使用这个脚本:

$rgname = "myrg"
$vmssname = "myvmss"
$newversion = "4.0.20160229"
$instanceid = "1"

# get the VMSS model
$vmss = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssname

# set the new version in the model data
$vmss.virtualMachineProfile.storageProfile.imageReference.version = $newversion

# update the virtual machine scale set model
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssname -VirtualMachineScaleSet $vmss

# now start updating instances
Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $instanceId

有关它的更多信息,请参阅此link

答案 1 :(得分:0)

我相信你能够&#34;扩展虚拟机的唯一方法&#34;水平是通过使用VM Scale集。虽然比例集不支持已经运行的计算机,但我建议您拍摄正在运行的计算机的快照,并将其用作VM Scale集的映像,并从2个映像开始,然后实现指标以扩展到更多实例。