0

我目前正在寻找将我们的虚拟机移动到规模集,但我面临更新虚拟机的问题。我有一个基本图像,我从中启动了一个具有 5 个实例的 ScaleSet。现在我有一个需要推送到这 5 台服务器中的每台服务器的应用程序更新,实现这一点的最合适和最方便的过程是什么。我对此进行了一些研究,可能的解决方案之一是;

  1. 使用更新的应用程序代码创建新图像

  2. 在模板中运行 Powershell 脚本,将旧图像替换为新图像,并相应地更新虚拟机。

我正在为我的应用程序使用 asp.net。那么,当有应用程序更新时,我如何去更新规模集中的每个 VM。有人建议我们可以使用 Chef/puppet,但这太贵了,每个节点 120 美元

有人可以建议一个更简单的解决方案。任何帮助深表感谢

4

3 回答 3

0

使用 powershell 部署到规模集。对我来说就像一个魅力:)

$customConfig = @{
"fileUris" = @("https://$storageAccountName.blob.core.windows.net/scripts/script.ps1");
"commandToExecute" = "PowerShell -ExecutionPolicy Unrestricted .\script.ps1";
};
 $vmss = Get-AzureRmVmss -ResourceGroupName $resourceGroup -VMScaleSetName $vmssname
Add-AzureRmVmssExtension -VirtualMachineScaleSet $vmss -Publisher Microsoft.Compute -Type CustomScriptExtension -TypeHandlerVersion 1.8 -Name "runscript" -Setting $customConfig
# Send the new config to Azure
Update-AzureRmVmss -ResourceGroupName $resourceGroup -Name $vmssname -VirtualMachineScaleSet $vmss
于 2017-09-25T15:38:15.603 回答
0

规模集“滚动升级”功能(目前为预览版:https ://github.com/Azure/vm-scale-sets/tree/master/preview/upgrade )可能会有所帮助;使用此功能,您只需创建新映像,然后使用新映像更新规模集模型,然后规模集将在您的基础架构上分批推出新映像。

希望这可以帮助!

于 2017-07-24T22:25:59.087 回答
0

使用 script\dsc 扩展将更新推送到您的应用程序。该过程很简单,并且与单个 VM 完全相同。

https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-dsc

于 2017-07-24T14:30:55.117 回答