Skip to content

Instantly share code, notes, and snippets.

@agrawalreetika
Last active January 3, 2020 09:22
Show Gist options
  • Save agrawalreetika/cd7bc9e82a248cd8be80822abe242ea7 to your computer and use it in GitHub Desktop.
Save agrawalreetika/cd7bc9e82a248cd8be80822abe242ea7 to your computer and use it in GitHub Desktop.
In this we will create scale set and set auto scaling rules for same.
ImageName="presto-worker-image"
ScalesetName="presto-worker-scaleset"
ScalesetProfileName="presto-worker-scaleset-autoscale-profile"
AdminPassword="PasswordOfYourChoice"
ResourceGroupName="PrestoResourceGroup"
Subscription="Azure-Subscription-Name"
Location="eastus"
MIN_COUNT=2
MAX_COUNT=10
NsgName="presto-nsg"
# Create Scale Set
az vmss create \
--subscription $Subscription \
--resource-group $ResourceGroupName \
--name $ScalesetName \
--image $ImageName \
--location $Location \
--instance-count $MIN_COUNT \
--upgrade-policy-mode "automatic" \
--public-ip-per-vm \
--nsg $NsgName \
--admin-username azureuser \
--admin-password $AdminPassword \
--custom-data cloud-init.txt
# Create a scale set profile for autoscaler
az monitor autoscale create \
--subscription $Subscription \
--resource-group $ResourceGroupName \
--resource $ScalesetName \
--resource-type "Microsoft.Compute/virtualMachineScaleSets" \
--location $Location \
--name $ScalesetProfileName \
--min-count $MIN_COUNT \
--max-count $MAX_COUNT \
--count $MIN_COUNT
# Create a rule to autoscale out
az monitor autoscale rule create \
--subscription $Subscription \
--resource-group $ResourceGroupName \
--autoscale-name $ScalesetProfileName \
--condition "Percentage CPU > 70 avg 5m" \
--cooldown 5 \
--scale out 2
# Create a rule to autoscale in
az monitor autoscale rule create \
--subscription $Subscription \
--resource-group $ResourceGroupName \
--autoscale-name $ScalesetProfileName \
--condition "Percentage CPU < 30 avg 5m" \
--cooldown 5 \
--scale in 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment