Skip to main contentIBM Cloud Pak Playbook

Cloud Pak for MCM 2.0 Installation

This section describes the installation of the core components of Cloud Pak for Multicloud Management 2.0. This version is supported on OpenShift 4.3 or 4.4 at the time of this update. Please continue to check the IBM Knowledge Center documentation in case this has changed before your installation. The Cloud platform used to test and document the installation here is OpenShift on IBM Cloud (ROKS), specifically an OpenShift 4.4 cluster. However, since OpenShift 4.3. and 4.4 are available on a variety of platforms, the instructions should be valid on whatever on-premise or cloud platform where you are running OpenShift supported versions.

The installation of the Cloud Pak is well documented in the IBM Knowledge Center. The installation process documented there uses a mix of the Openshift UI and the command line. You will be successful by carefully following these instructions.

As an alternative, this section of the Cloud Pak Playbook describes an installation exclusively using the command line. With this approach, it is possible to automate the installation by incorporating these commands into shell scripts.

Prerequisites

This document does not describe how to install or configure the underlying OpenShift cluster. Prior to installing, make sure you have a working OpenShift cluster with the required capacity.

  • For online installs make sure you have an entitlement key from MyIBM Container Software Library to access the installation images. Log in to this site with your IBMid. You can then copy your entitlement key into your buffer. It will be required during the installation.
  • The installation is performed from the Command line (CLI) so you will need the required OpenShift CLI tools to interface with the cluster. The current OpenShift command line can be downloaded from this site.
  • Offline installation will require the docker client install on the installation server

    Overall Installation Process

    The major advancement and difference in the Cloud Pak for Multicloud Management 2.0 product is that the installation is now performed by OpenShift operators. These operators are responsible for the initial installation of the product components, and for the ongoing health, care and feeding of those components.

    The cluster used for this example installation has 5 worker nodes, each with 16 vCPUs and 64 GBs memory. As stated before, it is running on the Red Hat OpenShift on IBM Cloud (ROKS) public cloud.

    Online Installation

    In the online installation, we will first set up a number of environment variables, then install IBM Common Services, and finally install the Cloud Pak for Multicloud Management core components.

    Set up necessary Environment variables

    1. Log in to MyIBM Container Software Library with your IBMid and password. In the Entitlement keys section, copy the entitlement key to your buffer.

    2. In your command line, paste this entitlement key into an environment variable.

    export ENTITLED_REGISTRY_KEY="<Paste Your Entitlement Key>"
    1. Define the other environment variables you will need for the core MCM component installation.
    export ENTITLED_REGISTRY="cp.icr.io"
    export ENTITLED_REGISTRY_SECRET="ibm-management-pull-secret"
    export DOCKER_EMAIL="<Your Docker ID email>"
    export CP4MCM_NAMESPACE="cp4m"
    export CP4MCM_BLOCK_STORAGECLASS="ibmc-block-gold"
    export CP4MCM_FILE_STORAGECLASS="ibmc-file-gold"
    export CP4MCM_FILE_GID_STORAGECLASS="ibmc-file-gold-gid"

    The value of ENTITLED_REGISTRY points to IBM’s registry containing the software images. The values of the ENTITLED_REGISTRY_SECRET and CP4MCM_NAMESPACE are arbitrary. You can use different values if you want. The ...STORAGECLASS variables are populated based on the storage classes available in the OpenShift cluster. The storage classes you have available will vary based on the platform on which you are running your MCM OpenShift cluster. To find the available storage classes in your cluster, enter the command oc get sc.

    1. Go to your OpenShift Cluster UI, and log in to your cluster. From the pull-down menu in the top right corner, click Copy Login Command, then click Display Token. Copy the command line under Log in with this token, paste it into your command line and Enter to log in to your cluster. The command line is in the form:
    oc login --token=<your_token> --server=<SERVER_URL>

    Import the CatalogSource for IBM Common Services

    1. Enter the following command:
    oc create -f - <<EOF
    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
    name: opencloud-operators
    namespace: openshift-marketplace
    spec:
    displayName: IBMCS Operators
    publisher: IBM

    You should see the following response.

    catalogsource.operators.coreos.com/opencloud-operators created

    Import the CatalogSource for Cloud Pak for Multicloud Management

    1. Create tne namespace for CP for MCM.
    oc new-project $CP4MCM_NAMESPACE
    1. Create the entitled registry secret for the installation.
    oc create secret docker-registry $ENTITLED_REGISTRY_SECRET --docker-username=cp --docker-password=$ENTITLED_REGISTRY_KEY --docker-email=$DOCKER_EMAIL --docker-server=$ENTITLED_REGISTRY -n $CP4MCM_NAMESPACE
    1. Import the CatalogSource for CloudPak for Multicloud Management.
    oc create -f - <<EOF
    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
    name: management-installer-index
    namespace: openshift-marketplace
    spec:
    displayName: CP4MCM Installer Catalog
    publisher: IBM CP4MCM

    You should see a response like this.

    catalogsource.operators.coreos.com/management-installer-index created

    Create the Cloud Pak for MCM Subscription

    1. Enter the following command to create the subscription for Cloud Pak for MCM.
    cat << EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
    name: ibm-management-orchestrator
    namespace: openshift-operators
    spec:
    channel: 2.0-stable
    installPlanApproval: Automatic

    You should see a response like this.

    subscription.operators.coreos.com/ibm-management-orchestrator created

    Create the Cloud Pak for MCM Core Components Installation

    1. Enter the following command to trigger the operator to install Cloud Pak for MCM.
    cat << EOF | oc apply -f -
    apiVersion: orchestrator.management.ibm.com/v1alpha1
    kind: Installation
    metadata:
    name: ibm-management
    namespace: $CP4MCM_NAMESPACE
    spec:
    storageClass: $CP4MCM_BLOCK_STORAGECLASS
    imagePullSecret: $ENTITLED_REGISTRY_SECRET

    If you look at the YAML embedded in this command, you see that there are stanzas for each of the addtional capabilities of the Cloud Pak beyond the core. Toward the end of each stanza there is an enabled: false parameter. This causes only the core components to be installed. To install additional components later, this YAML is updated to enable the additional components.

    You should see a response like this.

    installation.orchestrator.management.ibm.com/ibm-management created

    This means that the installation of Cloud Pak for MCM core components has begun, under the control of the operator.

    1. To track the progress of the installation, enter the command oc get opreq -A. While the installation is running, the command and responses will look like this.
    MBP:dtmcm03 $ oc get opreq -A
    NAMESPACE NAME AGE PHASE CREATED AT
    cp4m ibm-management-cs 33m Running 2020-09-25T22:02:06Z
    cp4m ibm-management-foundation 33m Running 2020-09-25T22:02:07Z
    ibm-common-services catalog-ui-request 31m Running 2020-09-25T22:04:11Z
    ibm-common-services helm-api-request 30m Running 2020-09-25T22:05:10Z
    ibm-common-services helm-repo-request 30m Running 2020-09-25T22:05:10Z
    ibm-common-services ibm-commonui-request 31m Running 2020-09-25T22:04:11Z
    ibm-common-services ibm-iam-request 32m Running 2020-09-25T22:03:30Z

    The installation will be finished when all the pods for the Cloud Pak have started successfully. This command will report these pods that are not yet in the Running or Completed states yet.

    oc get po --no-headers=true -A | grep -v 'Running\|Completed\|gateway-kong' | grep 'kube-system\|ibm-common-services\|management-infrastructure-management\|management-monitoring\|management-operations\|management-security-services'
    1. After all the pods have completed, you can enter the following command to get the URL for your Cloud Pak for MCM console.
    oc -n ibm-common-services get route cp-console --template '{{.spec.host}}'

    The result should look like this.

    cp-console.dtmcm10-6ccd7f378ae819553d37d5f2ee142bd6-0000.us-south.containers.appdomain.cloud

    Copy the result of this command and paste it into a browser to go to the Cloud Pak console.

    Cloud Pak Console Pre Login

    Click Default authentication to get to the login panel.

    1. The default administrator id for the Cloud Pak is admin. To get the admin password, go back to your command line and enter the following command.
    oc -n ibm-common-services get secret platform-auth-idp-credentials -o jsonpath='{.data.admin_password}' | base64 -d

    Copy the result of this command and paste it into the Password field of the login panel to log in to the Cloud Pak Console. Log in with User ID admin and the password you have pasted. The top part of the Cloud Pak Console looks like this.

    Cloud Pak Console Post Login

    The installation of the Cloud Pak for Multicloud Management core components is now complete.

    Offline Installation

    The Offline or Airgap installation method for Cloud Pak for Multicloud Management 2.0 is well documented in the IBM Knowledge Center.

    At this time we do not have any updates or alternatives to what is documented there.

    Uninstall

    The documentation on how to uninstall Cloud Pak for Multicloud Management 2.0 can be found in the IBM Knowledge Center documentation.

    If and when we can test a more stream-lined method, we will update this section.

    Additional Resources