I have recently deployed the App Service Update 7 resource provider to an Azure Stack 1908 region and came across a problem when trying to add instances to the web worker tiers via the admin portal, per the instructions here: https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-app-service-add-worker-roles?view=azs-1908#add-additional-workers-using-the-administrator-portal
The problem I came across was when I opened the Roles blade from within the App Service resource provider, trying to select the ScaleSet option for the worker tier was not possible.
I could select the Virtual Machine option if I selected the Controller role:
I checked the release notes for App Service Update 7 and couldn’t find anything that referenced the problem I have: https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-app-service-release-notes-update-seven?view=azs-1908
OK, so I can’t follow the documentation verbatim, but, the workaround is very straightforward. The worker tiers use VM scale sets, so from the admin portal, open up the Virtual machine scale sets admin blade:
Then select the worker tier you wan to modify:
Select the Scaling option and modify the instance count using the slider, or manually enter the number you want. Click Save to start the provisioning process.
Open the App Service / Worker Tiers blade; it will show the instance count has now increased:
It will take a while for the available instances to increment, so be patient.
You can, however, see that the instance count has increased if you select the Roles blade
Selecting a Worker instance will show you a little more detail. The example below, shows that 2 instances are installing:
Eventually, you should hopefully see something like the following:
Of course, you can use the PowerShell method, and that works out of the box, but I’ve modified the script in the document to be more Integrated system friendly :)
##### Scale out the AppService Role instances ######
# Set context to AzureStack admin.
Login-AzureRmAccount -EnvironmentName AzureStackAdmin
$RegionName = 'local' # Change this to reflect the region. ASDK is 'local'
## Name of the Resource group where AppService is deployed.
$AppServiceResourceGroupName = "AppService.$RegionName"
## Name of the ScaleSet : e.g. FrontEndsScaleSet, ManagementServersScaleSet, PublishersScaleSet , LargeWorkerTierScaleSet, MediumWorkerTierScaleSet, SmallWorkerTierScaleSet, SharedWorkerTierScaleSet
$ScaleSetName = "SmallWorkerTierScaleSet"
## TotalCapacity is sum of the instances needed at the end of operation.
## e.g. if your VMSS has 1 instance(s) currently and you need 1 more the TotalCapacity should be set to 2
$TotalCapacity = 2
# Get current scale set
$vmss = Get-AzureRmVmss -ResourceGroupName $AppServiceResourceGroupName -VMScaleSetName $ScaleSetName
# Set and update the capacity
$vmss.sku.capacity = $TotalCapacity
Update-AzureRmVmss -ResourceGroupName $AppServiceResourceGroupName -Name $ScaleSetName -VirtualMachineScaleSet $vmss