Get up to 50% off on CKA, CKAD, CKS, KCNA, KCSA exams and courses!

Install the RHACM operator – import an existing cluster – Deploy a new cluster

Install the RHACM operator – import an existing cluster – Deploy a new cluster

This blog shows how to prepare RHACM and manage the cluster on AWS.

  • Install the RHACM operator from OperatorHub.
  • Create the MultiClusterHub object.
  • Import an existing cluster into RHACM.
  • Deploy a New Cluster

Installing Red Hat Advanced Cluster Management

Using OperatorHub, install the Advanced Cluster Management for Kubernetes operator in the cluster-bn7z2.sandbox1558.opentlc.com cluster.

Navigate to Operators → OperatorHub and type Advanced Cluster Management in the Filter by keyword field.

Click Advanced Cluster Management for Kubernetes , and then click Install .

In the Update Channel, ensure that the release-2. 6 radio button is selected. In the Update approval section, select the Manual radio button to select a manual approval strategy. Then, click Install.

Next, you must approve the installation or updates to the RHACM operator manually.

Click Approve in the next step. The installation can take a few minutes to complete.

When the operator is installed, you see the following message:

Click Create MulticlusterHub .

On the Create MulticlusterHub page, leave the default values, and click Create. You are redirected to the MultiClusterHubs tab.

Initially, the multiclusterhub object has a Phase: Installing status.

After some minutes, the status Phase: Running displays in the Status column.

Retrieve the route to the RHACM web console, named multicloud-console on hub cluster

$ oc get route multicloud-console -n open-cluster-management
NAME                 HOST/PORT                                                       PATH   SERVICES             PORT    TERMINATION          WILDCARD
multicloud-console   multicloud-console.apps.cluster-bn7z2.sandbox1558.opentlc.com          management-ingress   https   reencrypt/Redirect   None

Open the RHACM web console at https://multicloud-console.apps.cluster-bn7z2.sandbox1558.opentlc.com with the hub “kubeadmin” credential.

Import an existing cluster

Explore the Infrastructure → Clusters menu.

From the Infrastructure menu, click Clusters. Scroll down to locate the managed clusters. Notice that the local-cluster cluster-bn7z2.sandbox1558.opentlc.com cluster, where the hub cluster runs, is automatically managed.

On the Import an existing cluster page, type the name to identify this cluster as follows:

  • Name: bn7z2-m-prod-01

Leave the rest of the values unchanged and click Save import and generate code .

The Save import and generate code button now displays the Code generated successfully message.

Click Copy command .

From the terminal, log in to the bn7z2-m-pod.sandbox1558.opentlc.com cluster as the admin user. The API server address is https://api.bn7z2-m-pod.sandbox1558.opentlc.com:6443

Paste the import code into the terminal and then press Enter to run it. The paste command is quite long and most of it is base64 encoded.

$ echo "Ci0tLQphcGlWZXJzaW9uOiB...CBhZ2Fpbi4=" | base64 -d

Deploy Managed OpenShift Clusters

Set Up Credentials for AWS

Create a new Namespace called opentlc-aws to hold the configuration for AWS.

$ oc create namespace opentlc-aws

In the RHACM console, click Credentials .

Click Add Credentials and select Amazon Web Services .

Specify the following values:

  • Name: opentlc-aws
  • Namespace: opentlc-aws
  • Base DNS Domain: sandbox1558 .opentlc.com (set to your domain)

Click Next .

For Access key ID , paste the access key ID

For Secret access key , paste the secret access key

Click Next and skip the Proxy settings.

Click Next and specify your OpenShift pull secret for the Pull Secret field.

For SSH Private Key , paste the output from the cat HOME/.ssh/{GUID}key.pem command—your private key.

For SSH Public Key , paste the output from the cat HOME/.ssh/{GUID}key.pub; echo command—your public key.

Click Next .

Verify that your entries are correct, then click Add .

Deploy New Development Cluster

I deploy one managed OpenShift cluster for development. Because you do not actually use these clusters for any productive work, you deploy single-node OpenShift (SNO) clusters. These clusters consist of only a single VM that acts as the control plane and worker.

  • Under Infrastructure on the left, select Clusters , and then click Create Cluster .
  • Select Amazon Web Services as the provider.
  • Select the credential you created earlier as your Infrastructure provider credential (opentlc-aws).
  • Click Next.
  • Cluster Name: bn7z2-m-dev
  • Base DNS Domain: sandbox1558.opentlc.com
  • Release Image: 4.9.51 (or the latest available OpenShift 4.9 image)
  • Additional Labels: purpose=development
  • For Node pools, specify the following parameters, and then click Next: Region: ap-southeast-2 Architecture: (do not set) Control plane pool → Zones: (do not set) Control plane pool → Instance type: m5.2xlarge Control plane pool → Root storage: 100 (do not change) Worker pool 1 → Pool name: (do not change) Worker pool 1 → Zones: (do not set) Worker pool 1 → Instance Type: m5.xlarge (do not change) Node Count: 0
  • For Networking, click Next.
  • For Proxy, click Next.
  • For Automation, click Next.
  • For Review, specify the following parameters:
  • At the top, select YAML to show the YAML editor on the right.
  • Find the MachinePool YAML resource in the editor and add skipMachinePools: true under the MachinePool spec.
  • In the YAML editor switch to the install-config tab, then change the number of replicas for the control plane to 1 and verify that the number of replicas for workers is set to 0.
  • Click Create.

Watch the deployment logs until the production cluster is successfully deployed.

Remove a managed cluster

# Managed Cluster

$ oc login -u admin -p redhat https://api.<cluster name>.<base domain>:6443

$ oc delete clusterrole klusterlet

$ oc delete clusterrole open-cluster-management:klusterlet-admin-aggregate-clusterrole

Now we have a “playground” to test RHACM GitOps. I will talk about it in the next Blog.

Share :

Related Posts

Introduction to Container Fundamental

Let’s learn about, Traditional VM based deployment Challenges Container based deployment Advantages of Containers Use cases Nived Velayudhan …

Using Ansible with Terraform – Ansible Real Life Series

Learn how to use Ansible with Terraform for provisioning the configurations and software.

Kubernetes vs OpenShift – 15 Facts You Should Know

Kubernetes vs OpenShift – 15 Facts You Should Know

Welcome back to the OpenShift Bootcamp series. In this article we will see the difference between Kubernetes and OpenShift . Please note, during the …

A Kubernetes Service Mesh Comparison

A Kubernetes Service Mesh Comparison

As microservices architecture continues to evolve, interservice communication has become a significant challenge to manage. Service meshes are …

What is Hosted OpenShift Cluster

What is Hosted OpenShift Cluster

Photo by Belle Co from Pexels Red Hat OpenShift is the well known enterprise Kubernetes distribution and it is a platform with ready-to use features, …

Build your own Multi-node Kubernetes Cluster with Ubuntu(20) on VirtualBox

Build your own Multi-node Kubernetes Cluster with Ubuntu(20) on VirtualBox

Typically Minikube is a utility that most developers use when they are learning Kubernetese. Though it’s a great tool, Minikube runs a single-node …