Installing IBM Edge Computing Manager shared components

Follow these installation steps to configure and enable the use of IBM Edge Computing Manager shared components. This installation supports both IBM Edge Computing Manager for Clusters and IBM Edge Computing Manager for Devices.

Prerequisites

Ensure that you have appropriately sized your cluster for OpenShift Container Platform 4.2.

Installation process

  1. Download the ibm-cp4mcm-core and ibm-ecm bundles for IBM Edge Computing Manager for Clusters or IBM Edge Computing Manager for Devices from IBM Passport Advantage to your installation environment, depending on which product was purchased.

  2. Prepare the directory to be used by the installation, and unpack the license zip file to be accepted as part of the installation:

     mkdir -p /opt/ibm-multicloud-manager-1.2 && \
     tar -C /opt/ibm-multicloud-manager-1.2 -zxvf ibm-ecm-4.0.0-x86_64.tar.gz ibm-ecm-4.0.0-x86_64/ibm-ecm-licenses-4.0.zip
    
  3. Ensure the Docker service is running and unpack/load the docker images from the installation tarball:

     tar -zvxf ibm-cp4mcm-core-1.2-x86_64.tar.gz -O | sudo docker load
    
  4. Prepare for and extract the installation configuration:

     cd /opt/ibm-multicloud-manager-1.2 && \
     sudo docker run --rm -v $(pwd):/data:z -e LICENSE=accept -v $(pwd)/ibm-ecm-4.0.0-x86_64:/installer/cfc-files/license:z --security-opt label:disable ibmcom/mcm-inception-amd64:3.2.3 cp -r cluster /data
    
  5. Specify a fresh KUBECONFIG location, and Fill in the appropriate cluster information in the oc login command below (obtained from the OpenShift cluster installation), and copy the $KUBECONFIG file to the installation configuration directory:

     export KUBECONFIG=$(pwd)/myclusterconfig
    
     oc login https://<API_ENDPOINT_HOST>:<PORT> -u <ADMIN_USER> -p <ADMIN_PASSWORD> --insecure-skip-tls-verify=true && \
     cp $KUBECONFIG /opt/ibm-multicloud-manager-1.2/cluster/kubeconfig && \
     cd cluster
    
  6. Update the config.yaml file:

    • Determine which nodes you wish to configure IBM Edge Computing Manager shared components services to be scheduled on. It is highly recommended to avoid using the master nodes:

      # oc get nodes
      NAME               STATUS   ROLES    AGE  VERSION
      master0.test.com   Ready    master   8h   v1.14.6+c07e432da
      master1.test.com   Ready    master   8h   v1.14.6+c07e432da
      master2.test.com   Ready    master   8h   v1.14.6+c07e432da
      worker0.test.com   Ready    worker   8h   v1.14.6+c07e432da
      worker1.test.com   Ready    worker   8h   v1.14.6+c07e432da
      worker2.test.com   Ready    worker   8h   v1.14.6+c07e432da
      

      Inside the cluster/config.yaml (master here refers to a specific set of services that are a part of IBM Edge Computing Manager for Clusters and is not referring to the master node role):

      # A list of OpenShift nodes that used to run services components
      cluster_nodes:
        master:
          - worker0.test.com
        proxy:
          - worker0.test.com
        management:
          - worker0.test.com
      

      Note: The value of the master, proxy, and management parameters is an array and can have multiple nodes; and the same node can be used for each parameter. The configuration above is for a minimal installation, for a production installation, include three worker nodes for each parameter.

    • Choose your preferred storage_class for persistent data:

      # oc get storageclass
      NAME                               PROVISIONER                     AGE
      rook-ceph-block-internal           rook-ceph.rbd.csi.ceph.com      8h
      rook-ceph-cephfs-internal          rook-ceph.cephfs.csi.ceph.com   8h
      rook-ceph-delete-bucket-internal   ceph.rook.io/bucket             8h
      

      Inside the cluster/config.yaml:

      # Storage Class
      storage_class: rook-ceph-cephfs-internal
      
    • Define a 32+ character alphanumeric default_admin_password:

      # default_admin_password:
      # password_rules:
      #   - '^([a-zA-Z0-9\-]{32,})$'
      default_admin_password: <YOUR-32-CHARACTER-OR-LONGER-ADMIN-PASSWORD>
      
    • Add a line defining cluster_name to uniquely identify the cluster:

      cluster_name: <INSERT_YOUR_UNIQUE_CLUSTER_NAME>
      

      Note: Without this definition a default of mycluster name will be chosen. If you will also be installing IBM Edge Computing Manager for Devices, this is an important step to appropriately name your cluster. The cluster_name will be used to define several components for that product.

  7. Open the default route to the internal OpenShift image registry:

     oc patch configs.imageregistry.operator.openshift.io/cluster --type merge -p '{"spec":{"defaultRoute":true}}'
    
  8. Install IBM Edge Computing Manager shared components:

     sudo docker run -t --net=host -e LICENSE=accept -v $(pwd)/../ibm-ecm-4.0.0-x86_64:/installer/cfc-files/license:z -v $(pwd):/installer/cluster:z -v /var/run:/var/run:z -v /etc/docker:/etc/docker:z --security-opt label:disable ibmcom/mcm-inception-amd64:3.2.3 install-with-openshift
    

Importing a cluster to be managed

There is a known issue with importing clusters, we are working on providing functional documentation steps for this process.

Next steps

If this installation was done as part of a prerequisite for IBM Edge Computing Manager for Devices, return to continue that installation.