Adding Nodes to a Cluster

Learn how to add extra nodes to a Red Hat OpenShift cluster deployed in OCI.

Prerequisites

Before you begin, ensure you have the following:

  • A functioning OpenShift cluster in OCI.

  • Access to the OpenShift Console and the cluster provisioned in OCI, including its kubeconfig file.

  • An ISO image for booting the nodes added to the target cluster. Note that this image must be generated for the add nodes operation and differs from the image used for the initial cluster creation.

  • Permissions to manage OCI Compute instances and load balancers. See the Overview of IAM and Common Policies for more information.

Part 1: Provision Compute Nodes in OCI

Follow the instructions in this section to provision OCI Compute nodes using the add-nodes-v1.x.x.zip file in the Resource Manager service.

Provision Compute Nodes for an OpenShift Cluster
  1. Navigate to the oci-openshift-releases page in GitHub. From the Assets section of the release, download the add-nodes-v1.x.x.zip file, where "1.x.x" refers to the release number. For example, release 1.0.0 of the file is named add-nodes-v1.0.0.zip
  2. Sign in to the OCI Console. If you need instructions, see Sign In to the Console in the OCI Getting Started guide.
  3. Open the navigation menu  and select Developer Services. Under Resource Manager, select Stacks.
  4. Select Create stack
  5. In the Stack information section, select the My configuration. Select .Zip file and upload the add-nodes.zip file. After specifying the configuration source, select Next.
  6. Specify the requested values in the OpenShift Cluster Configuration section. You will need the OCIDs for your OCI tenancy, the compartment that contains your OpenShift cluster. For the OpenShift Image Source URI, paste in the pre-authenticated request value for the ISO image for adding nodes that you uploaded to OCI Object Storage. See Prerequisites in this topic for more information on generating this image.
  7. For the Control Plane Node Configuration section, specify the details for the control plane nodes you want to add to the cluster. For details on the node variables, including shape, ocpu, memory, boot volume size, and volume performance units (VPUs), see the Creating OpenShift Container Platform Infrastructure topic.
  8. For the Compute Node Configuration section, specify the details for the compute nodes you want to add to the cluster.
  9. Select Create to create the stack. The Console redirects to the stack details page for the new stack.
  10. On the stack details page, select Apply to create an apply job and provision the new nodes for the cluster. After running an apply job, get the job's details to check its status. Succeeded (SUCCEEDED) indicates that the job has completed.

Part 2: Add Nodes to Cluster

After you complete the steps in Provision Compute Nodes for an OpenShift Cluster section, your new nodes are ready to be added to your OpenShift cluster. Follow the instructions based on your cluster type.

Assisted Installer Cluster Instructions (Console)

If you created your cluster with the Assisted installer, you can use the Red Hat Hybrid Cloud Console and the cluster console to add your new nodes to the cluster and approve their certificate signing requests (CRSs).

Alternately, you can perform these tasks using the OpenShift CLI (oc) version 4.17 or later. To use the CLI, follow the instructions in Add nodes to a cluster with the CLI.

Add hosts to a cluster in the OpenShift web console
  1. Navigate to the cluster details page in the OpenShift Hybrid Cloud console at https://console.redhat.com/openshift/ and select the Add Hosts tab to view the Add Hosts section.
    Note

    If the OpenShift Hybrid Cloud console displays an "Insufficient" error message, see the troubleshooting instructions in "Insufficient" Error When Adding Node in OpenShift Console.
  2. When the new hosts are in the Ready state, select the Install ready hosts button on the cluster details page to continue. The new hosts boot and register with the OpenShift cluster. You need to approve them in the OpenShift Web console for your cluster to complete the installation. See Approve new nodes in the cluster console for instructions.
Approve new nodes in the cluster console
  1. Sign in to the OpenShift web console for your cluster.
  2. Select Compute, then select Nodes to navigate to the list of nodes available to your cluster.

    An image of the list view of nodes for a cluster in the web based cluster console.

  3. Select the Discovered link in the row for the new node.
  4. In the Certificate approval required dialog, select Approve to add the node to your cluster. If the node has a pending server certificated signing request, the node status changes to Not Ready.

    An image of the Certificate approval required dialog.

  5. For nodes in the "not ready" state, select the Not Ready link to open the Node status dialog. Review the signing request information, then select Approve to complete the signing process and let the node take workloads within cluster.

    An image of the node status dialog with the server signing request approve button.

Agent-based Installer Cluster Instructions (CLI)

If you created your cluster with the Agent-based installer, you must use the OpenShift CLI (oc) version 4.17 or later to add your new nodes to the cluster and approve their certificate signing requests (CRSs). Note that you will need your kubeconfig file to connect to your target cluster with the CLI. See Adding nodes to your cluster in the Red Hat OpenShift CLI (oc) documentation for more information.

Add nodes to a cluster with the CLI
  1. Create an active connection to your target cluster in the CLI.
  2. Confirm that the nodes are booted and ready to be added to the cluster by running the following command:

    $ oc adm node-image monitor --ip-addresses <ip_addresses>

    where <ip_addresses> specifies a list of the IP addresses of the nodes that are being added.

  3. Approve the CSRs by running the following command for each CSR:

    $ oc adm certificate approve <csr_name>

    If you need information about pending CSRs, run the following command:

    $ oc get csr