Support Multiple Node Types

Node type description in provider azure.

Kubernetes v1.26 adds support for using Azure VMSS Flex VMs as the cluster nodes. Besides, mixing up different VM types in the same cluster is also supported. There is no API change expected from end users’ perspective when manipulating the Kubernetes cluster, however, users can choose to specify the VM type when configuring the Cloud Provider to further optimize the API calls in Cloud Controller Manager. Below are the configurations suggested based on the cluster modes.

Node TypeConfigurationsComments
Standalone VMs or AvailabilitySet VMsvmType == standardThis will bypass the node type check and assume all the nodes in the cluster are standalone VMs / AvailabilitySet VMs. This should only be used for pure standalone VM / AvailabilitySet VM clusters.
VMSS Uniform VMsvmType==vmss && DisableAvailabilitySetNodes==true && EnbleVmssFlexNodes==falseThis will bypass the node type check and assume all the nodes in the cluster are VMSS Uniform VMs. This should only be used for pure VMSS Uniform VM clusters.
VMSS Flex VMsvmType==vmssflexThis will bypass the node type check and assume all the nodes in the cluster are VMSS Flex VMs. This should only be used for pure VMSS Flex VM clusters (since v1.26.0).
Standalone VMs, AvailabilitySet VMs, VMSS Uniform VMs and VMSS Flex VMsvmType==vmss && (DisableAvailabilitySetNodes==false || EnbleVmssFlexNodes==true)This should be used the clusters of which the nodes are mixed from standalone VMs, AvailabilitySet VMs, VMSS Flex VMs (since v1.26.0) and VMSS Uniform VMs. Node type will be checked and corresponding cloud provider API will be called based on the ndoe type.