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.
- If you plan to install Backup & Restore service,
ensure that 12 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.
- Ensure that the following ports are open on the hub cluster to deploy Hosted Control Plane clusters and support management and data
traffic:
Table 1. Ports required for
Fusion Data Foundation server and client
| Type |
Protocol |
Ports |
Description |
| Custom TCP |
TCP |
6789 |
Ceph Monitor |
| 3300 |
Ceph Monitor |
| 6800-7300 |
Ceph OSD, MGR, MDS |
| 9283 |
Ceph MGR Prometheus Exporter |
| 31659 |
API Server |
Procedure
-
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.
- Create MetalLB CR based on the following example:
apiVersion: metallb.io/v1beta1
kind: MetalLB
metadata:
name: metallb
namespace: metallb-system
- 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.
- When planning IP addresses, consider the number of Hosted Control Plane to be created and allocate additional IPs
for load balancer services. Reserve three IP addresses for Fusion Data Foundation storage load balancer services. If other
workloads utilizes load balancers, factor those requirements into your IP address planning to ensure
sufficient addresses are available.
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.
- Create
L2advertisement based on the following example:
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2advertisement
namespace: metallb-system
spec:
ipAddressPools:
- metallb
- Run the following command to patch ingress:
Note: This requirement is only for virtualized Hosted Control Plane clusters.
oc patch ingresscontroller -n openshift-ingress-operator default --type=json -p '[{ "op": "add", "path": "/spec/routeAdmission", "value": {wildcardPolicy: "WildcardsAllowed"}}]'
- Install Multi Cluster Engine for Kubernetes operator.
- Create a Multi Cluster Engine CR instance based on the following example:
apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
name: multiclusterengine
spec:
targetNamespace: multicluster-engine
Change the parameter values according to your
environment.
- Wait until the Multi Cluster Hub instance is created, available, and in Running
state.
The Multi Cluster Engine instance must be available.
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
- Download hosted control plane CLI from OpenShift Container Platform console:
- Go to the Command Line Tools page.
- 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 MCE, you can use the user interface instead of CLI. However, the CLI gives more options
than the user interface.
- To optimize
etcd performance for hosted clusters on
the hub cluster, configure LVM to use local drives on worker nodes as follows:
- Provision three dedicated drives on three separate worker nodes.
- Configure LVM on the worker nodes to manage the dedicated drives for
etcd
pods.
- Follow the steps to configure the LVM:
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.
- 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:
- Compute: uses disks from worker nodes.
- Control: uses disks from all master nodes to configure the LVM cluster.
- 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 .
- For Hosted Control Plane deployments, ensure the
following on the hub cluster:
- A valid pull secret must exist in the namespace where the Hosted Control Plane cluster is defined (the namespace containing
the
HostedCluster resource).
- The
HostedCluster CR must include a reference to this pull secret through the
pullSecret field.For example:
Note: Credentials in pull-secret must include
username, password and auth.
pullSecret:
name: <hosted_cluster_name>-pull-secret
- Create a load balancer service in the
openshift-storage namespace as follows:
- Define a load balancer service YAML.
For example:
kind: Service
apiVersion: v1
metadata:
name: ocs-provider-server-load-balancer
namespace: openshift-storage
annotations:
metallb.universe.tf/ip-allocated-from-pool: <address-pool-name-from-metallb>
spec:
ports:
- name: provider
protocol: TCP
port: 50051
targetPort: ocs-provider
nodePort: 30756
type: LoadBalancer
selector:
app: ocsProviderApiServer
- Apply the YAML.
Command example:
oc apply -f ocs-provider-server-load-balancer.yaml
What to do next
- Install an IBM Fusion
hosted cluster and install Fusion Data Foundation on it. For
the procedure to install the hosted cluster, see Installing the IBM Fusion base. For procedure
to install Fusion Data Foundation on the hosted cluster, see
Installing Fusion Data Foundation on a Hosted Control Plane cluster.