Why is it with VM ScaleSets that you can't easily change the SKU Size and it won't take effect after reboot? I find you have to totally delete the scaleset and re-provision for that to take effect. My scalesets are servers all built via automation scripts from ARM templates, sh script, etc but still… IF I wanted to quickly change the resources on one CPU and Memory wise it doesn't seem to be as easy as changing the SKU, letting it reboot and it's there or deallocating, changing size and booting back up same thing (Not there). This appears to not affect the VM inside.
Example, I have a ScaleSet running a custom RHEL Image I made in my Shared Image Gallery. Currently sits at Standard_B2s (2 CPU 4GB Ram). Deallocated, Changed SKU to Standrd_B2ms (2CPU 8GB RAM) and booted back up.
Result is still at 4GB RAM running say cat /proc/meminfo to see max memory
MemTotal: 4026512 kB
MemFree: 2301824 kB
MemAvailable: 2718188 kB
I see technically you would be able to update the SKU via powershell, but this only updates the scaleset and not the VM in the scaleset (Same as above). Can we not update the VM SKU size then without re-provision?
Trying this does not work as it can't find the SKU, even though it lists it
$VMSSvm = Get-AzVmssVM -ResourceGroupName "RG" -VMScaleSetName "vmss-name"
$VMMSvm.SKU = "Standard_B2ms"
Update-AzVmssVM -ResourceGroupName "RG" -Name "vmss-name"
This works but doesn't affect the VM of course
#AzVmss - Update SKU of VMSS
$VMSS = Get-AzVmss -ResourceGroupName "RG" -VMScaleSetName "vmms-name"
$VMSS.SKU.name = "Standard_B2ms"
Update-AzVmss -ResourceGroupName "RG" -Name "vmms-name" -VirtualMachineScaleSet $VMSS
Any clarification on this would be great from giving myself a headache if possible :)