Scaling out logging services after installation

By default, an instance of the logging service is installed together with IBM Cloud Pak for Multicloud Management. Minimal resources are allocated to this instance. For production use, you must allocate more capacity based on your projected workload. One way to achieve this task is to scale the logging service to more management or worker nodes.

Complete the following steps to scale the logging service to more nodes.

  1. Provision and add management or worker nodes to the cluster. It takes approximately 5 - 10 minutes to add a node.

  2. Prepare persistent volumes (PV) to store logging service data on newly added nodes. You can skip this step if dynamic provisioning is configured for logging storage. For more information, see Log storage.

  3. Install the kubectl command line interface. See Installing the Kubernetes CLI (kubectl).

  4. Back up existing ElasticStack Custom Resource (CR) instance.

    • Get a list of ElasticStack CRs.

      kubectl get elasticstack --all-namespaces

      The command output resembles the following text:

      NAMESPACE             NAME      AGE
      ibm-common-services   logging   25h
    • Back up ElasticStack CR in the ibm-common-services namespace.

      kubectl get elasticstack logging -n ibm-common-services -o yaml > logging_cr_original.yaml
  5. Prepare a patch file with updated CR fields.

    • Create a logging-cr-patch.yaml file to include the following settings:

           replicas: "3" # adjust to total number of nodes
           replicas: "3" # adjust to total number of nodes

      Note: The number of replicas are the total number of nodes that you added in step 1.

  6. Patch the logging CR.

    • To patch CR named logging in the ibm-common-services namespace, use the following commands:
         kubectl patch elasticstack/logging -n ibm-common-services --type merge --patch "$(cat logging-cr-patch.yaml)"
  7. The logging service becomes available in approximately 5 - 10 minutes.