我有一个Windows VM,我想在其上实现自动缩放。
目前,Azure Scaleset不接受已经创建的VM。
有没有人在基于CPU指标的AWS上实现Azure VM上的Autoscaling?
答案 0 :(得分:1)
是否有人在Azure上实施Autoscaling,就像在AWS上那样 基于CPU指标?
正如Rudi所说,我们可以使用Azure虚拟机规模集来实现这一目标。 VMSS可以扩展或扩展,创建另一个可扩展的VM,删除要扩展的VM。
在Azure中,我们可以使用Runbook进行扩展或缩小。使用调整大小VM大小来实现此目的。
我们可以通过Azure门户设置: 指标 - >添加指标提醒 - >选择Runbook:
注意强>:
通过这种方式,向上扩展或向下扩展将重新启动您的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个映像开始,然后实现指标以扩展到更多实例。