Prerequisites for Hosted Control Plane clusters

The prerequisites before you create virtualized or Bare Metal Hosted Control Plane clusters.

Before you begin

  • To configure LVM before the installation of the IBM Fusion Fusion Data Foundation service, create the custom configMap. For more information about how to create, see step 11.
  • To configure LVM after Fusion Data Foundation storage set up: Add drives with different capacities (compared to those used for Fusion Data Foundation storage) to any three storage nodes in the same disk slots. Ensure that the new drives are not of the same capacity as those used for the existing Fusion Data Foundation storage. Then, create a custom configMap similar to the example provided in the step 11.
  • Install and configure Fusion Data Foundation provider mode storage type on the hub cluster.
  • Important: You must have a subscription to Red Hat Advanced Cluster Manager (ACM). It can be purchased as a stand-alone component from IBM or Red Hat®. You can also use the ACM that is included in Red Hat OpenShift® Platform Plus.
  • If you plan to install Backup & Restore service, ensure that 4 GiB memory is available post the installation.
  • The Multi-cluster IBM Fusion using Hosted Control Plane on storage is available only on platforms that support the installation of in provider mode. For more information about the support details, see Supported platforms.

Procedure

  1. From the Red Hat Operator Catalog, install MetalLB 4.16 or higher.
    Add the MetalLB Operator to your cluster so that when a service of type LoadBalancer is added to the cluster, MetalLB can add a fault-tolerant external IP address for the service. For the procedure to install and validate MetalLB, see https://docs.openshift.com/. Go to your specific version of OpenShift Container Platform and check MetalLB details.
    Note: When you set up the load balancer, other applications can also get the advertised addresses. You must have enough addresses for any workloads on this cluster and created OpenShift Container Platform clusters.
  2. Create MetalLB CR based on the following example:
    
    apiVersion: metallb.io/v1beta1
    kind: MetalLB
    metadata:
      name: metallb
      namespace: metallb-system
  3. Create an IPaddress pool.
    Note: Reserve a set of unused IPs on the same CIDR as the Bare Metal network for MetalLB. The MetalLB serves these IPs to any load-balancer service that is installed on the cluster and not just the Hosted Control Plane.

    Example:

    
    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      name: metallb
      namespace: metallb-system
    spec:
      addresses:
      - 9.9.0.51-9.9.0.70
    Note: When you set up the load balancer, other applications can also get the advertised addresses. You must have enough addresses for any workloads on this cluster and created OpenShift Container Platform clusters.
  4. Create L2advertisement based on the following example:
    
    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: l2advertisement
      namespace: metallb-system
    spec:
      ipAddressPools:
       - metallb
  5. Install Red Hat Advanced Cluster Management 2.11 or higher from Red Hat Operator Catalog.
    Use version 2.12 if you want to use OpenShift Container Platform 4.17.To validate the installation, see Red Hat documentation > Red Hat Advanced Cluster Management for Kubernetes. .
  6. Create a Multi Cluster Hub CR instance based on the following example:
    
    apiVersion: operator.open-cluster-management.io/v1
    kind: MultiClusterHub
    metadata:
      name: multiclusterhub
      namespace: open-cluster-management
    spec: {}
      
    Change the parameter values according to your environment.
  7. Wait until the Multi Cluster Hub instance is created, available, and in Running state.
    The hub must be running and a Multi Cluster Engine instance must be available.
    Note: ACM gets installed along with the MCE operator.
    Run the following command to check whether the Multi Cluster Engine instance is available.
    $ oc get multiclusterengine
    Example output:
    $ oc get multiclusterengine
    NAME STATUS AGE
    multiclusterengine Available 170m
  8. Download hosted control plane CLI from OpenShift Container Platform console:
    1. Go to the Command Line Tools page.
    2. From the Hosted Control Plane - Hosted Control Plane Command Line Interface (CLI) section, download the CLI tar and extract from archive based on your platform.
      Note: In Advanced Cluster Management version 2.11 or higher, you can use the user interface instead of CLI. However, the CLI gives more options than the user interface.
  9. On the hub cluster, for hosted cluster etcd pods, use LVM with local drives. You must configure LVM so that the hosted clusters have a good etcd performance, and that this requires three dedicated drives on three compute nodes.
    Note:
    • If you did not enable LVM during the Data Foundation installation, use this step to create a LVM cluster using CLI.
    • Use the lvms-hcp-etcd storage class.
  10. To optimize etcd performance for hosted clusters on the hub cluster, configure LVM to use local drives on worker nodes as follows:
    1. Provision three dedicated drives on three separate worker nodes.
    2. Configure LVM on the worker nodes to manage the dedicated drives for etcd pods.
  11. Follow the steps to configure the LVM:

    You must configure LVM so that the hosted clusters have a good etcd performance, which requires three dedicated drives on three worker nodes.

    1. Create a configmap similar to the following example. This configmap is used by IBM Fusion to create a LVM cluster.

      Example configmap:
      kind: ConfigMap
      apiVersion: v1
      metadata:
        name: lvm-config
        namespace: ibm-spectrum-fusion-ns  
      data:
        drives: |
          - '/dev/disk/by-path/pci-0000:61:00.0-nvme-1'
        computeNodes: |
          - compute-1-ru5.rackm01.rtp.mydomain.com
          - compute-1-ru6.rackm01.rtp.mydomain.com
          - compute-1-ru7.rackm01.rtp.mydomain.com
        nodeType: compute

      The LVM cluster uses the NVMe drive /dev/disk/by-path/pci-0000:61:00.0-nvme-1 on the three compute nodes to provide PVCs for the etcd pods of the hosted clusters.

    2. To configure LVM clusters, specify the drives and nodes to be used. The drives field specifies the drives to be used for the LVM cluster. Use one or two drives per node. To specify two drives in a node, use the following format:
      drives: |
        - '/dev/disk/by-path/pci-0000:61:00.0-nvme-1'
        - '/dev/disk/by-path/pci-0000:63:00.0-nvme-1'

      The computeNodes field lists the worker nodes that provide disks for the LVM cluster. Ensure that the selected nodes are not GPU nodes.

      The nodeType field specifies the type of nodes to use for LVM clusters. Supported types are:
      1. Compute: uses disks from worker nodes.
      2. Control: uses disks from all master nodes to configure the LVM cluster.
  12. Increase the maximum number of pods per node from the default value of 250 to 500. For the procedure to update the value, see Managing the maximum number of pods per node .

What to do next

  1. Install an IBM Fusion hosted cluster and install Fusion Data Foundation on it. For the procedure to install the hosted cluster, see Installing IBM Fusion base. For procedure to install Fusion Data Foundation on the hosted cluster, see Installing Fusion Data Foundation on the hosted cluster.