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.

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

Part 1: Generate and Upload ISO Image

To add nodes to an existing OpenShift cluster, you must first generate a bootable ISO image for node provisioning, upload it to OCI Object Storage, and generate a pre-authenticated request (PAR) URL to use in the Terraform configuration.

Generate and Upload ISO Image
The method to generate the ISO depends on how you deployed your cluster.

To upload the ISO image to the object storage bucket and generate pre-authenticated request URL, see Uploading Red Hat ISO Image to Object Storage. You need to provide this pre-authenticated request URL when entering the OpenShift Image Source URI.

Part 2: Provision Compute Nodes in OCI

Follow the instructions in this section to provision OCI Compute nodes using the add-nodes.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 required release, download the add-nodes.zip file. Previous versions of the file are also available.
  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. In the OpenShift Cluster Configuration section, provide your tenancy and compartment OCIDs. For the OpenShift Image Source URI, paste the pre-authenticated request URL of the ISO image you uploaded in part 1.
  7. In the Networking Configuration section, specify the networking compartment, existing VCN, existing private subnet for OCP and bare metal, and existing public subnet.
  8. In 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.
  9. In the Compute Node Configuration section, specify the details for the compute nodes you want to add to the cluster.
  10. Select Create to create the stack. The Console redirects to the stack details page for the new stack.
  11. 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 (CSRs).

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 Red Hat Hybrid Cloud Console
  1. Navigate to the cluster details page in the Red Hat Hybrid Cloud Console at https://console.redhat.com/openshift/ and select the Add Hosts tab to view the Add Hosts section.
  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.
    Tip

    Refer to the "Insufficient" Error When Adding Node in OpenShift Console section on the Troubleshooting page if the Red Hat Hybrid Cloud Console displays an "Insufficient" error while adding nodes.
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 (CSRs).
Note

You must have the kubeconfig file to connect to your target cluster with the CLI. This file is generated during cluster installation. For more information, see Installing OpenShift CLI and Adding nodes to your cluster in Red Hat documentation.
Add nodes to a cluster with the CLI
  1. Connect to your target cluster using the kubeconfig file.
  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