$ oc get machinesets -n openshift-machine-api
You can add or remove an instance of a machine in a MachineSet.
If you need to modify aspects of a MachineSet outside of scaling, see Modifying a MachineSet. |
If you enabled the cluster-wide proxy and scale up workers not included in networking.machineCIDR
from the installation configuration, you must add the workers to the Proxy object’s noProxy
field to prevent connection issues.
This process is not applicable to clusters where you manually provisioned the machines yourself. You can use the advanced machine management and scaling capabilities only in clusters where the machine API is operational. |
If you must add or remove an instance of a machine in a MachineSet, you can manually scale the MachineSet.
Install an OpenShift Container Platform cluster and the oc
command line.
Log in to oc
as a user with cluster-admin
permission.
View the MachineSets that are in the cluster:
$ oc get machinesets -n openshift-machine-api
The MachineSets are listed in the form of <clusterid>-worker-<aws-region-az>
.
Scale the MachineSet:
$ oc scale --replicas=2 machineset <machineset> -n openshift-machine-api
Or:
$ oc edit machineset <machineset> -n openshift-machine-api
You can scale the MachineSet up or down. It takes several minutes for the new machines to be available.
Random
, Newest
, and Oldest
are the three supported options. The default is Random
, meaning that random machines are chosen and deleted when scaling MachineSets down. The delete policy can be set according to the use case by modifying the particular MachineSet:
spec: deletePolicy: <delete policy> replicas: <desired replica count>
Specific machines can also be priortized for deletion by adding the annotation machine.openshift.io/cluster-api-delete-machine
to the machine of interest, regardless of the delete policy.
By default, the OpenShift Container Platform router pods are deployed on workers. Because the router is required to access some cluster resources, including the web console, do not scale the worker MachineSet to |
Custom MachineSets can be used for use cases requiring that services run on specific nodes and that those services are ignored by the controller when the worker MachineSets are scaling down. This prevents service disruption. |