2017-06-16 42 views
0

假設我從一個圖像創建了一個縮放集,其中有5個虛擬機。如何更新刻度集Image&Vm的

現在假設我有一個適用於我的應用程序的更新,我如何推送此更新,以便使用最新的應用程序代碼更新映像,並且將更新推送到ScaleSet中的所有Current Running Vm,下次ScaleSet帶來了新的虛擬機的它會做這樣使用更新後的圖像

謝謝

回答

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/

+0

感謝您的回覆嗨,你所提到的是什麼更新的操作系統,我想詢問有關更新,我已經安裝在服務器上我的應用程序文件。我如何將新文件推送到我的應用程序文件夾中,以及如何在一個縮放集中完成所有vm的操作。我不需要每次創建一個新映像,而是需要將次要更新推送到vm – avshetty

+0

,這在邏輯上就是這樣。或使用配置管理工具(DSC \ ansible \ puppet \等)。因爲規模集不是由rdp管理的。最簡單的方法是更新圖像(你真的應該有一個ci \ cd管道,所以沒有這麼做)或更新vm擴展 – 4c74356b41