New Method : How to Add Nodes to ARO (Worker Node Scaling)
If you are using the latest ARO architecture, which now uses Azure Machine Pools (based on the OpenShift Cluster API) instead of classic VMSS.
This newer approach abstracts away VMSS management from the user, and ARO uses ARM-managed resources and custom Azure Resource Providers to provision nodes under the hood.
🔍 So, where are your nodes coming from?
In the latest ARO versions:
- Worker nodes are not shown as standalone VMSS in your Azure subscription.
- They are instead part of ARO-managed infrastructure, controlled by OpenShift Machine API and ARO Resource Provider.
✅ What You Can Do Instead
🔧 Use OpenShift MachineSet
to Add/Scale Nodes
- List MachineSets:
oc get machinesets -n openshift-machine-api
- Check your current node count:
oc get nodes
- Scale a MachineSet:
Increase replicas of a MachineSet:oc scale machineset <machineset-name> -n openshift-machine-api --replicas=6
- Verify nodes:
oc get nodes
🛠 Example: Scaling Worker Nodes from 3 → 6
# View existing MachineSets
oc get machinesets -n openshift-machine-api
# Example output:
# NAME DESIRED CURRENT READY
# aro-clustername-worker-<zone> 3 3 3
# Scale it
oc scale machineset aro-clustername-worker-<zone> -n openshift-machine-api --replicas=6
Code language: PHP (php)
The MachineSet controller will provision new worker VMs via ARO’s API integration and automatically register them to the cluster.
🧭 Where to See the Nodes in Azure?
Even though no VMSS is shown, you can:
- Go to Azure → Resource Group (e.g.,
MC_<resource-group>_<cluster-name>_<region>
) - Filter for Virtual Machines — you’ll see VMs named like:
aro-<clustername>-worker-<zone>-<random>
These are the actual worker VMs, but ARO manages their lifecycle — so do not modify them directly.
📌 Summary
Task | Where to Do It |
---|---|
Scale nodes | oc scale machineset |
View nodes | oc get nodes |
VM visibility | Azure Resource Group → Virtual Machines |
Avoid touching | No manual VMSS or VM operations in Azure |
Old Method : How to Add Nodes to ARO (Worker Node Scaling)
🔍 Key Concept: ARO Cluster Node Scaling
ARO does not support self-managed scaling of worker nodes via the OpenShift UI or CLI directly. Instead, you must scale the cluster using Azure-native methods, because Microsoft fully manages the ARO control plane and infrastructure.
ARO worker nodes run as Azure Virtual Machine Scale Sets (VMSS). You scale the cluster by modifying the VMSS instance count.
📌 Option 1: Azure Portal (Easiest Way)
- Go to Azure Portal
- Navigate to your ARO Resource Group (usually named like
aro-<clustername>
). - Find the VM Scale Set named something like
aro-<clustername>-worker
or similar. - Click the “Instance count” setting.
- Increase the number of instances (nodes).
- Click “Save”.
💡 OpenShift will automatically recognize and schedule pods on the new nodes.
📌 Option 2: Azure CLI
You can scale using az vmss
commands:
# Get the VMSS name
az vmss list --resource-group aro-<your-rg-name> --query "[].name"
# Scale to desired count (example: 6 nodes)
az vmss scale \
--resource-group aro-<your-rg-name> \
--name <vmss-name> \
--new-capacity 6
Code language: PHP (php)
📌 Option 3: Terraform (Infrastructure-as-Code)
If you’re managing ARO via Terraform, adjust your VMSS configuration:
resource "azurerm_linux_virtual_machine_scale_set" "aro_worker" {
name = "aro-worker"
resource_group_name = azurerm_resource_group.aro.name
location = azurerm_resource_group.aro.location
# Change this to scale
instances = 6
...
}
Code language: PHP (php)
⚠️ Important Notes
- You cannot add nodes via OpenShift Web Console or CLI like traditional OpenShift clusters.
- ARO does not allow you to provision control plane (master) nodes or custom node pools — Microsoft manages them.
- If you want different node types (e.g., GPU, FPGAs, spot VMs), you must use MachineSets bound to specific VMSS configurations — but this is an advanced and Azure-integrated setup.
🧠 Tips
- For autoscaling, you can enable VMSS autoscaling (via Azure Monitor) for dynamic scale-out.
- Use
oc get nodes
to verify new nodes are ready andoc adm top nodes
to monitor resource usage.
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND