Hello Mangi,Balaraju,IN-Chennai,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
Problem
I understand that you are inquiring about the possibility of changing the VM SKU size for both master nodes and worker nodes in an Azure Red Hat OpenShift (ARO) cluster. Also seeking information on any references or documentation provided by Microsoft or Red Hat regarding this process, as well as the procedure to perform the SKU size change.
Scenario
As someone managing an Azure Red Hat OpenShift (ARO) cluster and considering resizing the VM SKU for both master nodes and worker nodes. There is uncertainty about whether this is feasible within the ARO environment and are seeking guidance on the process. Mangi is particularly interested in any official references or documentation provided by Microsoft or Red Hat that outline the steps involved in changing the VM SKU size for ARO master nodes and worker nodes.
Solution
This prescribed solution was based on the scenario given and your questions, while focusing on the problem statement. Unfortunately, changing the VM SKU size for ARO master nodes is not supported. However, you can adjust the VM sizes for worker nodes. Meaning that unlike worker nodes, master nodes in ARO have fixed VM SKU sizes and cannot be modified. Only worker nodes can be resized to accommodate workload requirements.
Finally
You can Azure CLI commands to update the VM SKU sizes.
az aro update -g <resource-group-name> -n <cluster-name> --worker-vm-count <new-vm-count> --worker-vm-size <new-vm-size>
You can also follow this bash steps to perform the tasks:
# Adjust the VM sizes for worker nodes. Here are the steps to modify worker node VM sizes:
# 1. Select the `openshift-machine-api` project:
oc project openshift-machine-api
# 2. Edit the machineset for the desired worker nodes:
oc edit machineset <name>
# 3. Locate the `vmSize` line in the configuration and change it to the desired Azure VM size (e.g., from `Standard_D4s_v3` to `Standard_D8s_v3`).
# 4. Cordone the node (make it temporarily unavailable for scheduling):
oc adm cordon <nodename>
# 5. Perform a node drain:
oc adm drain <nodename> --delete-emptydir-data --ignore-daemonsets
# 6. Delete the old node:
oc delete node <nodename>
# 7. Optionally, delete the old machine (as it will be removed automatically):
oc delete machine <worker machine name>
If you follow the above steps, the new machine will be created and added to the cluster, and the new nodes will become operational shortly. If needed, repeat these steps for other machinesets once the new nodes are ready.
References
Based on your request for documentations, in the additional resources you will find policy and more links for information. Especially,
- Vertical node scaling in AKS enabled by Azure Arc - AKS hybrid Learn about the vertical scaling of node pools in AKS enabled by Arc.
- Use Azure Spot Virtual Machines in an Azure Red Hat OpenShift (ARO) cluster - Azure Red Hat OpenShift Discover how to utilize Azure Spot Virtual Machines in Azure Red Hat OpenShift (ARO)
- Azure Red Hat OpenShift 4 cluster support policy - Azure Red Hat OpenShift Understand support policy requirements for Red Hat OpenShift 4
- Common Issues - Unavailable SKU - Azure CycleCloud Azure CycleCloud common issue - Unavailable SKU
Source: Upgrading Infrastructure and Worker Node VM Sizes in ARO. Accessed, 5/15/2024.
Source: How do we change the VM nodes to other SKU- Microsoft Q&A. Accessed, 5/15/2024.
Source: Deploy infrastructure nodes in an Azure Red Hat OpenShift (ARO). Accessed, 5/15/2024.
Source: Similar Answer - Extend VM capacity under ARO worker node - Microsoft Q&A. Accessed, 5/15/2024.
Accept Answer
I hope this is helpful! Do not hesitate to let me know if you have any other questions.
** Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful ** so that others in the community facing similar issues can easily find the solution.
Best Regards,
Sina Salam