Installing IBM Multicloud Manager on an IBM Cloud Private cluster

After you have your IBM Cloud Private clusters, you can install IBM Multicloud Manager to manage those clusters.

Prerequisites

Loading the IBM Multicloud Manager PPA archive

  1. Run the following command to log in to the IBM Cloud Private Docker image registry:

    docker login <cluster_ca_domain>:8500
    

    To configure authentication to access the private image registry from outside of your IBM Cloud Private cluster, see Configuring authentication for the Docker CLI. To configure on your machine, complete the additional steps that are required to setup the authentication.

  2. Log in to the IBM Cloud Private CLI, or cloudctl, to configure helm and kubectl. Run the following command:

    cloudctl login -a https://<cluster_ca_domain>:8443 --skip-ssl-validation
    
  3. Load the Passport Advantage (PPA)Opens in a new tab archives.

    Run the following command to unpack the archive:

    tar zxvf mcm-3.1.2.tgz
    

    Then, run the following command to load the PPA archive:

    cloudctl catalog load-ppa-archive -a mcm-3.1.2/mcm-ppa-3.1.2.tgz --registry <cluster_ca_domain>:8500/kube-system --username <username> --password <password>
    
  4. From the IBM Cloud Private management console, validate that the following Helm charts were loaded to Catalog:

    • ibm-mcm-prod

Now you can install IBM Multicloud Manager controller and console on your IBM Cloud Private cluster. This cluster becomes the IBM Multicloud Manager hub-cluster.

Note: After you set up your hub-cluster, you can install the IBM Multicloud Manager Klusterlet on each Kubernetes cluster that you want to manage with IBM Multicloud Manager. Your managed clusters are referred to as managed-clusters.

Installing the IBM Multicloud Manager controller and console

You can install the IBM Multicloud Manager controller and IBM Multicloud Manager console on your hub-cluster.

  1. Log in to the IBM Cloud Private management console.

  2. Click Catalog.

  3. Search and select the ibm-mcm-prod Helm Chart.

  4. Click Configure.

  5. Read and accept the license agreement.

  6. Configure the following required parameters:

    • Helm release name: <helm_release_name> is the name of the Helm release and can be any name.
    • Target namespace: choose kube-system, the chart that is required to be installed in the kube-system namespace.
    • IBM Multicloud Manager Namespace:<mcm_namespace> the dedicated namespace that is used to assign resources, such as compliance policy, to the IBM Multicloud Manager controller.
  7. Enable and configure persistent storage for ETCD with the following procedure:

    • To enable persistent storage for ETCD, create a StorageClass or a PersistentVolume before you install the ibm-mcm-prod Helm chart.

    • To create StorageClass on IBM Cloud Private, see Creating a storage class.

    • To create PersistentVolume on IBM Cloud Private, see Creating a PersistentVolume.

    • From All parameters, configure the following parameters in IBM Multicloud Manager ETCD configuration.

    • Enable Persistence Volume: Check the box to enable persistent storage.

    • Storage Class Name: Specify <storageclass_name>. To use PersistentVolume, leave the value blank.
    • Persistence Volume Size: <storage_capacity> is the capacity of the storage volume. Default capacity is 1G.
    • Access Modes: <access_mode> is the access mode of the storage volume. Default access mode is ReadWriteMany.

Additionally, you can also configure persistent storage for Prometheus and MongoDB.

  1. Click Install to deploy ibm-mcm-prod Helm chart.

  2. Log in to your hub-cluster and create the <mcm_namespace> that is defined in step 6.

    cloudctl login -a https://<cluster_ca_domain>:8443 --skip-ssl-validation
    
    kubectl create namespace <mcm_namespace>
    

Installing and Configuring the IBM Multicloud Manager CLI (mcmctl)

  1. For the IBM Multicloud Manager CLI, you can obtain the mcmctl executable binary file for the following operating systems:

    • For Linux®, run the following command:

      docker run -e LICENSE=accept -v $(pwd):/data <cluster_ca_domain>:8500/kube-system/mcmctl:3.1.2 cp mcmctl-linux-amd64 /data/mcmctl
      
    • For Linux® on Power® (ppc64le), run the following command:

      docker run -e LICENSE=accept -v $(pwd):/data <cluster_ca_domain>:8500/kube-system/mcmctl:3.1.2 cp mcmctl-linux-ppc64le /data/mcmctl
      
    • For macOS, run the following command:

    docker run -e LICENSE=accept -v $(pwd):/data <cluster_ca_domain>:8500/kube-system/mcmctl:3.1.2 cp mcmctl-darwin-amd64 /data/mcmctl
    
    • For Windows™ 32 bit, run the following command:
      docker run -e LICENSE=accept -v $(pwd):/data <cluster_ca_domain>:8500/kube-system/mcmctl:3.1.2 cp mcmctl-win-386.exe /data/mcmctl
      
    • For Windows™ 64, run the following command:
      docker run -e LICENSE=accept -v $(pwd):/data <cluster_ca_domain>:8500/kube-system/mcmctl:3.1.2 cp mcmctl-win-amd64.exe
      
  2. Configure the IBM Multicloud Manager CLI mcmctl. Run the following command to switch kubectl and helm config to hub-cluster with cloudctl login. The CLI uses the cluster configuration from kubectl.

    cloudctl login -a https://<cluster_ca_domain>:8443 --skip-ssl-validation
    

Next, see Installing the IBM Multicloud Manager Klusterlet on a managed-cluster to install the Klusterlet on your managed-clusters.

See the IBM Multicloud Manager installation overview for more installation topics.