Configuration options for IBM Multicloud Manager with IBM Cloud Private installation

Learn about the different configuration options and choose the process that you need to configure IBM Multicloud Manager. You can configure an IBM Multicloud Manager hub cluster during or after IBM Cloud Private installation. You can also configure a managed cluster during installation, or after if you already have a hub cluster.

The default IBM Cloud Private setting is single_cluster_mode = true, which means IBM Multicloud Manager is not configured.

See Customizing the cluster with the config.yaml file to learn more about the configuration settings that are available during installation. For more IBM Multicloud Manager topics and to ensure that your clusters are prepared, see Preparing for IBM Multicloud Manager installation.

Configuring IBM Multicloud Manager during installation

Configure multicluster-hub (the hub cluster)

By default, the multicluster-hub option is enabled and the single_cluster_mode option is true, but you cannot use IBM Multicloud Manager with the single_cluster_mode default true setting.

Follow the process to change your settings in your config.yaml file, which is located in the /<installation_directory>/cluster folder.

  1. Find the single_cluster_mode option in the config.yaml file and set the value to false, as it is displayed in the following example:

    single_cluster_mode: false
    

    You are no longer in single_cluster_mode and can configure IBM Multicloud Manager during installation.

  2. Optional: To use persistent storage, you need to configure the local persistence volume for the IBM Multicloud Manager etcd.

    1. Create the following setting for multicluster-hub by adding the following stanza to your config.yaml file. You can add the value anywhere outside of your management_services section:

      multicluster-hub:
        etcd:
          persistence: true
          localPath: /var/lib/etcd-mcm
      
    2. Log in to your management node and create the /var/lib/etcd-mcm directory. You must repeat this step for all of your management nodes.

Optional: You can also manage your hub cluster with the following procedure, which enables the multicluster-endpoint. Proceed to the next section.

Configuring multicluster-endpoint (the managed cluster)

Continue with the procedure to configure the multicluster-endpoint on your cluster, which turns your cluster into a manage-cluster.

  1. In your config.yaml file for the new IBM Cloud Private cluster, which is located in the /<installation_directory>/cluster folder, enable the multicluster-endpoint, as it is in the following example:

    management_services:
     multicluster-endpoint: enabled
    
  2. Continue to create the stanza with the following settings for multicluster-endpoint:

    multicluster-endpoint:
     global:
       clusterName: "{{ cluster_name }}"
       clusterNamespace: "{{ cluster_name }}"
     clusterLabels:
       environment: "Dev"
       region: "US"
       datacenter: "toronto"
       owner: "marketing"
     operator:
       bootstrapConfig:
         hub0:
           name: hub0
           secret: kube-system/klusterlet-bootstrap
         hub1:
           name: null
           secret: null
     klusterlet:
       host: null
     prometheusIntegration:
       enabled: true
     policy:
       cemIntegration: false
     topology:
       enabled: true
     serviceRegistry:
       enabled: true
       dnsSuffix: "mcm.svc"
       plugins: "kube-service"
    
  3. Save and exit the file. Finish the installation procedure.

Configuring an IBM Multicloud Manager hub cluster after installation

Configure with default settings

To configure the IBM Cloud Private hub cluster after installation, you need the default configuration. By default, the multicluster-hub option is enabled.

  1. Log in IBM Cloud Private management console and click Workloads > Helm releases. Find the multicluster-hub, which is the hub cluster release name.

  2. Click Upgrade from the multicluster-hub release page to enable certain features.

    In the window, find Version and choose the upgrade version.

    Note: You can choose either Reuse Values or Reset Values and still complete the task. Reuse Values uses default values and enables all components except HA.

  3. Enter the following fields:

    Note: The following fields are optional, but must be set correctly to work. Hover over the optional fields in the management console to learn more.

    • Multicloud Manager Namespace: Any namespace that was created or exists, such as kube-system.
    • Tiller Username: The username connects to Tiller from the hub cluster, typically admin is the default username, but you need to enter the valid username.
  4. Confirm that the following are selected: Enable Backend and Enable ETCD.

  5. In an OpenShift cluster, enter https://icp-management-ingress:443 in the IBM Cloud Private Management Ingress URL field.

  6. Click Upgrade.

  7. Refresh the IBM Cloud Private management console.

  8. View the IBM Cloud Private management console, where you see Multicloud Manager in the Getting starting page.

Configure without default settings

If during installation you changed the default setting for multicluster-hub to disabled, complete the following task to configure your hub cluster:

  1. In the management console, click Catalog.

  2. Click Configure.

  3. Find the ibm-mcm-prod Helm chart.

  4. Enter the following required fields:

    Note: The following fields are the required fields. You can hover over the optional fields in the management console to learn more and determine whether you want to enter values for those fields.

    • Helm Release name: The name that is used to identify your Helm release.
    • Target Namespace: A custom or default namespace.
    • Target Cluster: The cluster or clusters where you want to deploy the resource.

    Expand Quick start to find the following parameters:

    • Multicloud Manager Namespace: Any namespace was created or exists, such as kube-system.
    • Tiller Username: The username that connects to Tiller from the hub cluster. Typically, admin is the default username, but you need to enter the valid username.
  5. Read and agree to the License agreement to continue.

  6. Confirm that the following are selected: Enable Backend and Enable ETCD.

  7. In an OpenShift cluster, enter https://icp-management-ingress:443 in the IBM Cloud Private Management Ingress URL field.

  8. Click Install.

  9. Refresh the IBM Cloud Private management console.

  10. View the IBM Cloud Private management console, where you see Multicloud Manager in the Getting starting page.

Configuring an IBM Multicloud Manager managed cluster with a previously existing hub cluster

Prerequisite: You need a hub cluster configured.

If you want to create a managed cluster for an existing hub cluster, you need to configure the multicluster-endpoint management service in the IBM Cloud Private config.yaml and generate the klusterlet-bootstrap.kubeconfig file.

  1. In your config.yaml file for the new IBM Cloud Private cluster, which is located in the /<installation_directory>/cluster folder, enable the multicluster-endpoint, as it is in the following example:

    management_services:
     multicluster-endpoint: enabled
    
  2. Continue to create the stanza with the following settings for multicluster-endpoint:

    multicluster-endpoint:
      global:
        clusterName: "{{ cluster_name }}"
        clusterNamespace: "{{ cluster_name }}"
      clusterLabels:
        environment: "Dev"
        region: "US"
        datacenter: "toronto"
        owner: "marketing"
      operator:
        bootstrapConfig:
          hub0:
            name: hub0
            secret: kube-system/klusterlet-bootstrap
          hub1:
            name: null
            secret: null
      klusterlet:
        host: null
      prometheusIntegration:
        enabled: true
      policy:
        cemIntegration: false
      topology:
        enabled: true
      serviceRegistry:
        enabled: true
        dnsSuffix: "mcm.svc"
        plugins: "kube-service"
    
  3. Save and exit the file.

  4. Generate the klusterlet-bootstrap.kubeconfig by using kubectl. To install kubectl, see Installing the Kubernetes CLI (kubectl). The klusterlet-bootstrap.kubeconfig file is used by the Klusterlet to communicate with the hub cluster for the initial registration process.

    1. In a terminal, set the KUBECONFIG environment variable with the following command:

      export KUBECONFIG=$(pwd)/klusterlet-bootstrap.kubeconfig
      
    2. With cluster administrator access, go to a browser and log in to the IBM Cloud Private management console for the hub cluster.

    3. Select the user icon, then click Configure client.

    4. From the Configure client window, copy the kubectl configuration commands.

    5. Go back to the same terminal and paste the commands.

    6. Verify that you can connect to your targeted managed cluster with kubectl by using the kubeconfig. Run any kubectl command. If you receive an unable to connect error, delete the file and retry.

    7. Unset the KUBECONFIG environment variable to avoid modifying the kubeconfig file as you proceed. Run the following command:

      unset KUBECONFIG
      
  5. Place the klusterlet-bootstrap.kubeconfig that you generated in step 4 in the <installation_directory>/cluster directory on the boot node.

  6. Finish the installation procedure.

After installation, see how to import a cluster from different Kubernetes cloud providers, including IBM Cloud Private. You import a cluster so that a targeted hub cluster also becomes a managed cluster. For more information, see Importing a target managed cluster.