Adding infrastructure nodes to an ARO cluster
This content is authored by Red Hat experts, but has not yet been tested on every supported configuration.
This document shows how to set up infrastructure nodes in an ARO cluster and move infrastructure related workloads to them. This can help with larger clusters that have resource contention between user workloads and infrastructure workloads such as Prometheus.
Important note: Infrastructure nodes are billed at the same rates as your existing ARO worker nodes.
You can find the original (and more detailed) document describing the process for a self-managed OpenShift Container Platform cluster here
Prerequisites
Create Infra Nodes
We’ll use the MOBB Helm Chart for adding ARO machinesets which parameters for creating infra nodes, it looks up an existing machineset to collect cluster specific settings and then creates a new machineset specific for infra nodes with the same settings.
The chart used to default to infra nodes up to version 0.2.0 from and including version 0.2.0 you need to specify the roles, labels and taints explicitly.
Add the MOBB chart repository to your Helm
Update your repositories
Install the
mobb/aro-machinesetsChart with parameters to createinfranodesCreate a
values.yamlfile like this:Wait for the new nodes to be available
Moving Infra workloads
Ingress
You may choose this for any additional Ingress controllers you may have in the cluster, however if you application has very high Ingress resource requirements it may make sense to allow them to spread across the worker nodes, or even a dedicated
MachineSet.
Set the
nodePlacementon theingresscontrollertonode-role.kubernetes.io/infraand increase thereplicasto match the number of infra nodesCheck the Ingress Controller Operator is starting
podson the newinfranodes
Registry
Set the
nodePlacementon theregistrytonode-role.kubernetes.io/infraCheck the Registry Operator is starting
podson the newinfranodes
Cluster Monitoring
Configure the cluster monitoring stack to use the
infranodesNote: This will override any other customizations to the cluster monitoring stack, so you may want to merge your existing customizations into this before running the command.
Check the OpenShift Monitoring Operator is starting
podson the newinfranodessome Pods like
prometheus-operatorwill remain onmasternodes.