This is part of a series of posts about Azure Red Hat OpenShift (ARO).
The ARO offering from Azure works in a slightly different manner to AKS when it comes to compute (worker) nodes. The Azure Kubernetes Service (AKS) uses Azure Virtual Machine Scale Sets – one per worker node pool, and Azure Red Hat OpenShift (ARO) uses OpenShift MachineSets.
AKS uses Azure Virtual Machine Scale Sets for managing worker node deployment. One scale set is created per worker node pool, and this pool can be scaled up or down (in or out) as appropriate. The scale set ensures that each node created is the appropriate version, size etc, and is automatically added to the associated Network Security Group and Load Balancer. Autoscaling is configured in the scale set object.
Red Hat OpenShift on the other hand uses OpenShift MachineSets to scale manually or automatically depending on the configuration. A MachineSet is created for each of the Azure availability zones. Scaling operations can be performed independently per Azure availability zone. OpenShift uses the Azure provisioning system to deploy/remove nodes as required, and like AKS, it automatically adds/removes those nodes from the associated Network Security Group and Load Balancer. OpenShift Machine Autoscalers are then used to manage this process automatically.