Installing a Cluster with Red Hat's Assisted Installer

Learn how to install an OpenShift Container Platform cluster on Oracle Cloud Infrastructure using the Assisted Installer.

Review the prerequisites section of this documentation before starting the cluster installation.

Part 1: Generating the Discovery ISO File Using the Assisted Installer (Red Hat Console)

The compute nodes provisioned for the cluster require a preconfigured "discovery ISO" image for hardware and network validations during cluster deployment. To generate and download the discovery ISO using the Red Hat Hybrid Cloud Console, follow the steps in Using the Assisted Installer to generate an OCI-compatible discovery ISO image in the Red hat documentation, then return to this documentation for Part 2: Provisioning Cloud Infrastructure (OCI Console).

Part 2: Provisioning Cloud Infrastructure (OCI Console)

Learn about the OpenShift Container Platform for OCI provisioning steps that take place in the OCI Console.

In the tasks in this section, you work in the OCI Console to upload your discovery ISO image, provision the cluster infrastructure resources, and edit two of the manifest files discussed in Configuration Files. See Terraform Deployed Resources for OpenShift on OCI for a list of the resources created by the Terraform script used for this installation method. Note that you specify an existing compartment and Object Storage bucket for the cluster. See Creating a Compartment and Creating an Object Storage Bucket if you need instructions for creating these resources.

Uploading the Red Hat ISO Image to Object Storage

  1. In the OCI Console, create an Object Storage bucket and upload the discovery ISO image to the bucket.
  2. Create a Pre-Authenticated Request for the ISO image in Object Storage. This URL is used as the "openshift_image_source_uri", discussed in the steps that follow. See Pre-Authenticated Requests for Object Storage for more information."
  3. (Optional) Upload the Terraform example configurations file discussed in the Prerequisites to the Object Storage bucket discussed in step 1 of this task.
    What's Next? Navigate to the Resource Manager service and perform the steps in Creating OpenShift Container Platform Infrastructure Using Resource Manager.

Creating OpenShift Container Platform Infrastructure Using Resource Manager

Learn how to automatically provision the infrastructure required by the OpenShift Container Platform cluster using the Resource Manager service. In Resource Manager, you first create a stack, which is a configuration based on the infrastructure.tf file that can be used to create the specified set of resources. Then, to provision the resources, you create an Apply job, which processes the stack and creates the infrastructure resources.

See the following topics for more information:

See OpenShift on OCI custom manifests for a list of the resources created by the infrastructure.tf file used by Resource Manager.

  1. Open the navigation menu and click Developer Services. Under Resource Manager, click Stacks.
  2. Click Create stack
  3. Select My configuration to use the Terraform configuration file.
  4. In the Stack configuration section, select the Terraform configuration source. If you uploaded the configuration file to Object Storage, select Object Storage bucket. Otherwise, select Folder or .Zip file and navigate to the directory containing the Terraform configuration file. After specifying the configuration source, click Next.
  5. In the Configure variables page, complete the following fields:
    Field

    Value

    cluster_name:

    Enter the cluster_name value. Use the same cluster name that you entered during the creation of the ISO image in the Red Hat Hybrid Cloud Console.

    compartment_ocid:

    Enter the OCID of the OCI compartment that the cluster is being provisioned in, if the target compartment is different from the current compartment. By default, this field displays the OCID value of the current compartment. See Locating Oracle Cloud Infrastructure IDs for more information.

    home_region:

    Specify a region, such as us-sanjose-1.

    zone_dns:

    Specify the DNS name server that stores DNS records for a zone, such as openshift-demo.devcluster.openshift.com This is the same value as the Base domain entered in the Red Hat Hybrid Cloud Console during the creation of the ISO image..

    enable_private_dns:

    Set the DNS zone to public or private. Specifying a value of true, creates a private DNS zone. Specifying a value of false creates a public DNS zone. For a private DNS zone, you must configure your local /etc/hosts file to reach the cluster.

    openshift_image_source_url:

    Enter the Pre-Authenticated Request URL created in the previous task, Uploading the Red Hat ISO Image to Object Storage.

  6. (Optional) Edit the default values for the other fields as needed. By default, the cluster has 3 control plane nodes and 3 worker nodes.
  7. Click Next and review the Stack information and Variables.
  8. click Create to create the stack. The Console redirects to the stack details page for the new stack.
  9. On the stack details page, click Apply to create an apply job and provision the infrastructure 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.
    What's Next? After running the apply job for the stack, stay in the Resource Manager section of the OCI Console and perform the steps in Editing the OpenShift Container Platform Custom Manifests.

Editing the OpenShift Container Platform Custom Manifests

After provisioning the infrastructure in the Resource Manager service, edit the oci-ccm.yml and oci-csi.yml custom manifests discussed in Configuration Files with information from the "Outputs" of the stack job.

  1. On the Stacks page in the Resource Manager service, click the name of the stack to see the stack details. If the list view of jobs isn't displayed, select Jobs under the Resources section to see the list of jobs.
  2. Select the job for the stack creation. The Job details page is displayed in the Console.
  3. Select Outputs under the Resources section to see the list of outputs for the job.
  4. For the output "oci_ccm_config", select show to view the contents of the output.
  5. Click copy to copy the contents of the output to your machine's clipboard. Note: We recommend that you do not manually select and copy the text, as this can cause problems with indentation when you paste this output in the following step.
  6. Using a text editor or code editor, open the "oci-ccm.yml" file. Search the file for the string # oci-ccm-04-cloud-controller-manager-config.yaml. In this section of the file, paste the "oci_ccm_config" output copied in the previous step into the secret yaml resource. Be sure to preserve the indentation when you paste in the contents of the output. Save the file after you perform the edit. In the example that follows, you can see example output in the context of an edited copy of the oci-ccm.yml file:
    
    # oci-ccm-04-cloud-controller-manager-config.yaml
    apiVersion: v1
    kind: Secret
    metadata:
        creationTimestamp: null
        name: oci-cloud-controller-manager
        namespace: oci-cloud-controller-manager
    stringData:
        cloud-provider.yaml: |
            useInstancePrincipals: true
            compartment: ocid1.compartment.oc1.<unique_identifier>
            vcn: ocid1.vcn.oc1.<oci_region>.<unique_identifier>
            loadBalancer:
                subnet1: ocid1.subnet.oc1.<oci_region>.<unique_identifier>
                securityListManagementMode: Frontend
                securityLists:
                    ocid1.subnet.oc1.<oci_region>.<unique_identifier>: 
                    ocid1.securityuList.oc1.<oci_region>.<unique_identifier>
            rateLimiter:
                rateLimitQPSRead: 20.0
                rateLimitBucketRead: 5
                rateLimitQPSWrite: 20.0
                rateLimitBucketWrite: 5
    ---
  7. Using a text editor or code editor, open the "oci-csi.yml" file discussed in Prerequisites. Search the file for the string # oci-csi-01-config.yaml. In this section of the file, paste the "oci_ccm_config" output discussed in the previous two steps into the secret yaml resource. Be sure to preserve the indentation when you paste in the contents of the output. Save the file after you perform the edit. In the example that follows, you can see example output in the context of an edited copy of the oci-csi.yml file:
    
    # oci-csi-01-config.yaml
    apiVersion: v1
    kind: Secret
    metadata:
        creationTimestamp: null
        name: oci-volume-provisioner
        namespace: oci-csi
    stringData:
        config.yaml: |
            useInstancePrincipals: true
                compartment: ocid1.compartment.oc1.<unique_identifier>
                vcn: ocid1.vcn.oc1.<oci_region>.<unique_identifier>
                loadBalancer:
                    subnet1: ocid1.subnet.oc1.<oci_region>.<unique_identifier>
                    securityListManagementMode: Frontend
                    securityLists:
                        ocid1.subnet.oc1.<oci_region>.<unique_identifier>:
                        ocid1.securityuList.oc1.<oci_region>.<unique_identifier>
                    rateLimiter:
                    rateLimitQPSRead: 20.0
                    rateLimitBucketRead: 5
                    rateLimitQPSWrite: 20.0
                    rateLimitBucketWrite: 5
    ---
    What's Next? After editing the custom manifests, you're ready to complete the cluster configuration in the Red Hat Hybrid Cloud Console. See Part 3: Cluster Installation (Red Hat Console) in this documentation for more information.

Part 3: Cluster Installation (Red Hat Console)

Return to the Red Hat Hybrid Cloud Console to complete the cluster creation using the Assisted Installer. See Completing the remaining Assisted Installer steps in the Red Hat documentation for step-by-step instructions.

In the Red Hat Hybrid Cloud Console, you do the following:

  • Assign roles (master or worker) to the OCI instances
  • Upload the edited custom manifests discussed in Configuration Files
  • Rreview the settings for cluster storage and networking
  • Start the cluster installation. Expect the installation to take 30 to 45 minutes to complete.

Accessing The Cluster Console

After installation is complete, select Launch OpenShift Console in the Red Hat Hybrid Cloud Console. This opens the management console for the new cluster. The Web Console URL for the cluster console is displayed on the Installation progress page, and can be bookmarked in a browser. In the cluster management onsole, download the kubeconfig file which you use to access the cluster with the OpenShift CLI (oc) or the Kubernetes CLI (kubectl).