Bootstrap FreeKB - OpenShift - Add machines nodes using the oc scale machineset command
OpenShift - Add machines nodes using the oc scale machineset command

Updated:   |  OpenShift articles

If you are not familiar with the oc command, refer to OpenShift - Getting Started with the oc command.

A node (sometimes also referred to as a "machine") contains one or more pods, and each pod contains one or more containers.

 

The oc get machineset command can be used to display the cluster of edge, infra and worker machines. The machines will be in the openshift-machine-api namespace. Notice in this example that there are 2 worker machines.

~]$ oc get machineset --namespace openshift-machine-api
NAME            DESIRED   CURRENT   READY   AVAILABLE   AGE
lab001-edge     2         2         2       2           140d
lab001-infra    3         3         3       3           140d
lab001-worker   2         2         2       2           143d

 

The oc get machines command can be used to display the machines. Notice that the 2 worker machines are listed.

~]$ oc get machines --namespace openshift-machine-api 
NAME                  PHASE     TYPE   REGION   ZONE   AGE
lab001-edge-lm6wz     Running                          140d
lab001-edge-pmlls     Running                          140d
lab001-infra-c4v5h    Running                          140d
lab001-infra-mc8rc    Running                          140d
lab001-infra-p9cjv    Running                          140d
lab001-master-0       Running                          143d
lab001-master-1       Running                          143d
lab001-master-2       Running                          143d
lab001-worker-hsjrp   Running                          140d
lab001-worker-v8r9r   Running                          140d

 

The oc get nodes command will return the list of nodes. Notice that the 2 worker nodes are listed.

oc get nodes
. . .
NAME         STATUS    ROLES     AGE       VERSION
mynode001    Ready     infra     273d      v1.11.0+d4cacc0
mynode002    Ready     infra     273d      v1.11.0+d4cacc0
mynode003    Ready     infra     273d      v1.11.0+d4cacc0
mynode004    Ready     compute   273d      v1.11.0+d4cacc0
mynode005    Ready     compute   273d      v1.11.0+d4cacc0
mynode006    Ready     master    273d      v1.11.0+d4cacc0
mynode007    Ready     master    273d      v1.11.0+d4cacc0

 

The oc scale machineset command can be used to add edge, infra or worker machines. In this example, the worker machine set is scale up to 3, adding one additional worker.

~]# oc scale machineset lab001-worker --replicas=3 --namespace openshift-machine-api
machineset.machine.openshift.io/lab001-worker scaled

 

The oc get machineset command should now show that the DESIRED/CURRENT count is 3, but the READY/AVAILABLE count will still be 2 for some time.

~]$ oc get machineset --namespace openshift-machine-api
NAME            DESIRED   CURRENT   READY   AVAILABLE   AGE
lab001-edge     2         2         2       2           140d
lab001-infra    3         3         3       3           140d
lab001-worker   3         3         2       2           143d

 

Likewise, the oc get machines command should show that the new machines are Provisioning. It can take a while for the machine to go from Provisioning to Running.

~]$ oc get machines --namespace openshift-machine-api 
NAME                  PHASE     TYPE   REGION   ZONE   AGE
lab001-edge-lm6wz     Running                          140d
lab001-edge-pmlls     Running                          140d
lab001-infra-c4v5h    Running                          140d
lab001-infra-mc8rc    Running                          140d
lab001-infra-p9cjv    Running                          140d
lab001-master-0       Running                          143d
lab001-master-1       Running                          143d
lab001-master-2       Running                          143d
lab001-worker-hsjrp   Running                          140d
lab001-worker-v8r9r   Running                          140d
lab001-worker-zwkwk   Provisioning                     6m17s

 

AVOID TROUBLE

If for some reason the state remains Provisioning for a long time (e.g. 10 minutes or longer), use the oc get events command to see if there is some issue with the machine. Here is but one possibility.

~]$ oc get events
LAST SEEN   TYPE      REASON         OBJECT                         MESSAGE
7m43s       Warning   FailedCreate   machine/lab001-worker-j5556    lab001-worker-j5556: reconciler failed to Create machine: error getting network specs: multiple networks found, specify one in config

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 54e7cc in the box below so that we can be sure you are a human.