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
- Configuring an IBM Multicloud Manager hub cluster after installation
- Configuring an IBM Multicloud Manager managed cluster with a previously existing hub cluster
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.
-
Find the
single_cluster_mode
option in theconfig.yaml
file and set the value tofalse
, 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. -
Optional: To use persistent storage, you need to configure the local persistence volume for the IBM Multicloud Manager etcd.
-
Create the following setting for
multicluster-hub
by adding the following stanza to yourconfig.yaml
file. You can add the value anywhere outside of yourmanagement_services
section:multicluster-hub: etcd: persistence: true localPath: /var/lib/etcd-mcm
-
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 managed cluster.
-
In your
config.yaml
file for the new IBM Cloud Private cluster, which is located in the/<installation_directory>/cluster
folder, enable themulticluster-endpoint
, as it is in the following example:management_services: multicluster-endpoint: enabled
-
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"
Notes:
-
The possible values for service registry plug-ins are
kube-service
,kube-ingress
, andistio
. For more information about service registry settings, see Working with IBM Multicloud Manager service discovery. -
When you install a managed cluster in your hub cluster, the
multicluster-endpoint.klusterlet.host
parameter value is not required because it is the Kubernetes service hostname.
-
-
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
.
-
Log in IBM Cloud Private management console and click Workloads > Helm releases. Find the
multicluster-hub
, which is the hub cluster release name. -
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.
-
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 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.
- Multicloud Manager Namespace: Any namespace was created or exists, such as
-
Confirm that the following are selected: Enable Backend and Enable ETCD.
-
Click Upgrade.
-
Refresh the IBM Cloud Private management console.
-
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:
-
In the management console, click Catalog.
-
Click Configure.
-
Find the
ibm-mcm-prod
Helm chart. -
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 namepace.
- 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.
-
Read and agree to the License agreement to continue.
-
Confirm that the following are selected: Enable Backend and Enable ETCD.
-
Click Install.
When you install a managed cluster in your hub cluster, the
multicluster-endpoint.klusterlet.host
parameter value is not required because it is the Kubernetes service hostname. -
Refresh the IBM Cloud Private management console.
-
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.
Note: The multicluster-endpoint.klusterlet.host
parameter value is not required because it is the Kubernetes service hostname.
-
In your
config.yaml
file for the new IBM Cloud Private cluster, which is located in the/<installation_directory>/cluster
folder, enable themulticluster-endpoint
, as it is in the following example:management_services: multicluster-endpoint: enabled
-
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"
Note: The possible values for service registry plug-ins are
kube-service
,kube-ingress
, andistio
. For more information about service registry settings, see Working with IBM Multicloud Manager service discovery. -
Save and exit the file.
-
Generate the
klusterlet-bootstrap.kubeconfig
by usingkubectl
. To installkubectl
, see Installing the Kubernetes CLI (kubectl). Theklusterlet-bootstrap.kubeconfig
file is used by the Klusterlet to communicate with the hub cluster for the initial registration process.-
In a terminal, set the
KUBECONFIG
environment variable with the following command:export KUBECONFIG=$(pwd)/klusterlet-bootstrap.kubeconfig
-
With cluster administrator access, go to a browser and log in to the IBM Cloud Private management console for the hub cluster.
-
Select the , then click Configure client.
-
From the Configure client window, copy the
kubectl
configuration commands. -
Go back to the same terminal and paste the commands.
-
Verify that you can connect to your targeted managed cluster with
kubectl
by using thekubeconfig
. Run anykubectl
command. If you receive anunable to connect
error, delete the file and retry. -
Unset the
KUBECONFIG
environment variable to avoid modifying thekubeconfig
file as you proceed. Run the following command:unset KUBECONFIG
-
-
Place the
klusterlet-bootstrap.kubeconfig
that you generated in step 4 in the<installation_directory>/cluster
directory on the boot node. -
Finish the installation procedure.
After installation, see how to import a cluster from different Kubernetes cloud providers, including IBM Cloud Private. Import a cluster so that a targeted hub cluster also becomes a managed cluster. For more information, see Importing a target managed cluster.