So, you have your Windows Virtual Desktop hostpool up and running and you need to expand the hostpool. For example, because you have a growing number of users, or because you’re deploying a new set of hosts based on a new template image to later replace the current set of hosts.
Stefan Georgiev recently published a short video on how to use the existing Azure Marketplace Template, which is used to create a new Hostpool, to also add new hosts to an existing hostpool. This is because the Azure Marketplace template is intelligent enough to detect this. When providing the correct parameters, it can detect that existing hosts are in place. For that to work however you must use the Azure Marketplace Template to provision to the same Resource Group using the same tenant name, hostpool name and hostname prefix. The template will then provision new host servers (by continuing the numbering of the last postfix) and add them to the existing hostpool.
Sometimes however you want some more flexibility. For example, if you want control over the naming convention of the Availability Sets, Managed Disks, Network Adapters and hostnames. Sometimes it’s also very helpful to provide administrators with a customized deployment option that has OU’s, Hostpool Names, Tenant Names and more parameters ready to be selected from a dropdown which also avoids typos. This is exactly what I recently created.
I developed an ARM Template that basically deploys new hosts to an existing WVD hostpool. Because it’s a custom template I was able to also customize the naming conventions of network adapters, disks, and availability sets. More importantly, the ARM template contains dropdown lists with pre-defined values for Availability Sets, Tenant names, Host Pool names, Organizational Units and Azure AD Tenant ID’s.
After that I created a new Template Object in the Azure Portal based on this ARM Template. When deploying this template, the end result looks like below.
And a couple of examples of dropdown boxes with predefined and environment-specific values:
Organizational Units can be selected:
Tenant Names and hostpool names can be selected:
Some key-features of this template
- Tenant names and Hostpool Names can be selected from a predefined list which means easy selection and less deployment errors due to typo’s.
- The hostnames do not have to be identical to the ones that are already deployed, so you can also use this template to deploy a new set of hosts based on an updated template image to then later migrate to that new set.
- Naming of availability sets, network adapters and managed disks can be controlled. This allows you to comply to an existing Azure naming convention you or your customer might already have.
- If needed you can create different templates for different departments which contain a specific set of tenant names, host pool names or OU’s for that specific department