Installing the IBM Multicloud Manager Klusterlet 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 computer, complete the additional steps that are required to set up 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 archive.

    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
    
  4. From the IBM Cloud Private management console, validate that the following Helm charts were loaded to Catalog:

    • ibm-mcmk-prod

Now you are ready to prepare your cluster to install IBM Multicloud Manager Klusterlet on your clusters.

Prepare for installation

Obtain information from the hub-cluster to prepare for Klusterlet installation.

  1. Log in to the IBM Cloud Private management console of your hub-cluster.

  2. Select the user icon, then click Configure client. Verify that the cluster configuration details display and resemble the following output, which includes the URL and the token that you need to finish installation:

    kubectl config set-cluster {cluster_name} --server=https://<Cluster Master Host>:8001 --insecure-skip-tls-verify=true
    kubectl config set-context {cluster_name}-context --cluster={cluster_name}
    kubectl config set-credentials {cluster_name}-user --token={token}
    kubectl config set-context {cluster_name}-context --user={cluster_name}-user --namespace=default
    kubectl config use-context {cluster_name}-context
    

    Where, <Cluster Master Host> is defined in Master endpoint.

  3. Obtain the Kubernetes API Server URL <hub_cluster_url> from the output of step 2, which you need for Klusterlet installation:

    kubectl config set-cluster {cluster_name} --server=https://<Cluster Master Host>:8001 --insecure-skip-tls-verify=true
    

    The value https://<Cluster Master Host>:8001 after --server= is the Kubernetes API Server URL <hub_cluster_url>.

  4. Obtain the Kubernetes API Server token <hub_cluster_token> from the output of step 2, which you need for Klusterlet installation:

    kubectl config set-credentials {cluster_name}-user --token={token}
    

    The value {token} after --token= is the Kubernetes API Server token <hub_cluster_token>.

Installing the IBM Multicloud Manager Klusterlet

The IBM Multicloud Manager Klusterlet is installed on the IBM Cloud Private cluster that you want to manage with IBM Multicloud Manager.

IBM Multicloud Manager Klusterlet can also be installed on a hub-cluster if you want to manage the hub-cluster with IBM Multicloud Manager.

  1. Log in to the IBM Cloud Private management console of your target cluster, which is where you are installing the Klusterlet.

  2. Click Catalog.

  3. Select the ibm-mcmk-prod Helm Chart.

  4. Click Configure.

  5. Configure the following required parameters:

    • Helm release name: <helm_release_name> is the name of the Helm release.
    • Target namespace: kube-system is the required name for Target namespace.
    • Cluster Name: <cluster_name> is the name for the clusters that are managed. The cluster is identified with kubectl get clusters --all-namespaces and as your managed-cluster .
    • Cluster Namespace: <cluster_namespace> is used to assign resources to the cluster within the namespace. This namespace is created automatically on both the hub-cluster and managed-cluster. This namespace is different from the Multicloud Manager Namespace in the ibm-mcm-controller chart.
    • Hub Cluster Kubernetes API Server: <hub_cluster_url> is the Kubernetes API Server Endpoint for the hub-cluster. See the previous Prepare for installation section.
    • Hub Cluster Kubernetes API server token: <hub_cluster_token> is the Kubernetes API Server Token for the hub-cluster, which is used for the Klusterlet to communicate with the hub-cluster. See the previous Prepare for installation section.
    • Tiller Username: Username that the Klusterlet uses to communicate with tiller-deploy service to deploy Helm charts.
  6. Configure the following optional parameters:

    • Cluster Cloud Provider
    • Kubernetes Vendor
    • Cluster Environment Type
    • Cluster Region
    • Cluster Datacenter
    • Cluster Owner

    These optional parameters describe the cluster and can be selectors when you assign the resource to the cluster. IMPORTANT: If this Klusterlet is installed on a hub-cluster, check the Deploy to Hub Cluster? box.

  7. Read and agree to the License agreement.

  8. Click Install to deploy ibm-mcmk-prod Helm chart. If you already deployed ibm-mcm-prod, then you may see Local install and Remote install. Click Local install.