Increasing the size of BMC Helix IT Operations Management deployment


You can increase BMC Helix IT Operations Management deployment to facilitate scaling up your environment. This increase in capacity improves the performance of applications and services, making the system better equipped to handle growing workloads. You can perform the expansion of the capacity post-deployment of BMC Helix IT Operations Management.

Important
You can increase the size of your BMC Helix IT Operations Management, but you cannot decrease its size.

Before you begin

  • Make sure that no pods are in the CrashLoopBackOff, Error, or in any other unhealthy state.
  • If you are increasing the deployment size, make sure that you meet the additional resource requirements. For more information, see Sizing and scalability considerations.
  • (Applicable only for BMC Helix IT Operations Management 25.2 and later.) Delete the helix-install-status-<version> configmap from the installed version of BMC Helix IT Operations Management by using the following steps:
    1. Search for the configmap by running the following command:
      For Kubernetes: kubectl get configmap -n <namespace> | grep helix-install
      For OpenShift: oc get configmap -n <namespace> | grep helix-install
    2. Delete the configmap by running the following command:
      For Kubernetes: kubectl delete configmap -n <namespace> helix-install-status-<version>
      For OpenShift: oc delete configmap -n <namespace> helix-install-status-<version>

To expand the deployment

  1. Create backups of the current BMC Helix IT Operations Management, StatefulSets, and node information by exporting them to YAML files. The following commands take a backup of all resources in your environment.
    Use the following commands to export the YAML files:
    PlatformResource TypeExport Command (YAML)
    KubernetesPodskubectl -n <namespace> get pods -o yaml > pod_before.yaml
    Deploymentkubectl -n <namespace> get deployment -o yaml > deployment_before.yaml
    StatefulSetkubectl -n <namespace> get sts -o yaml > statefulset_before.yaml
    HPAkubectl -n <namespace> get hpa -o yaml > hpa_before.yaml
    OpenShiftPodsoc -n <namespace> get pods -o yaml > pod_before.yaml
    Deploymentoc -n <namespace> get deployment -o yaml > deployment_before.yaml
    StatefulSetoc -n <namespace> get sts -o yaml > statefulset_before.yaml
    HPAoc -n <namespace> get hpa -o yaml > hpa_before.yaml
  2. Navigate to the helix-on-prem-deployment-manager/configs directory and rename the following file names:
    • default.config to default.config_backup
    • default.json to default.json_backup
Information
Important

Make sure that the default.config and default.json files are not present in the configs directory.

  1. Update the DEPLOYMENT_SIZE parameter in the configs/deployment.config file to reflect the desired configuration.
    Make sure that the new value is greater than the current deployment size to maintain system integrity. The available deployment sizes are compact, small, xsmall, medium, large, itsmcompact, itsmsmall, and itsmxlarge.
  2. In the configs/deployment.config file, set the INSTALL_MODE parameter value to upgrade.
  3. Run the following command:
    ./deployment-manager.sh
  4. Run the following commands post-deployment to retrieve the YAML files for BMC Helix IT Operations Management, StatefulSets, and so on:
    PlatformResource typeExport command (YAML)
    KubernetesPodskubectl -n <namespace> get pods -o yaml > pod_after.yaml
    Deploymentkubectl -n <namespace> get deployment -o yaml > deployment_after.yaml 
    StatefulSetkubectl -n <namespace> get sts -o yaml > statefulset_after.yaml
    HPAkubectl -n <namespace> get hpa -o yaml > hpa_after.yaml 
    OpenShiftPodsoc -n <namespace> get pods -o yaml > pod_after.yaml
    Deploymentoc -n <namespace> get deployment -o yaml > deployment_after.yaml
    StatefulSetoc -n <namespace> get sts -o yaml > statefulset_after.yaml
    HPAoc -n <namespace> get hpa -o yaml > hpa_after.yaml 
  5. Compare the before and after deployment YAML files by using the diff or vimdiff command, and verify the values of replica count, CPU, memory, and <pvc-name> size parameters.
    The following table contains sample commands to compare YAML files:
    Resource typediff commandvimdiff command
    Podsdiff pod_before.yaml pod_after.yamlvimdiff pod_before.yaml pod_after.yaml
    Deploymentdiff deployment_before.yaml deployment_after.yaml

    vimdiff deployment_before.yaml deployment_after.yaml

    StatefulSetdiff statefulset_before.yaml statefulset_after.yaml vimdiff statefulset_before.yaml statefulset_after.yaml
    HPA

    diff hpa_before.yaml hpa_after.yaml

    vimdiff hpa_before.yaml hpa_after.yaml
  1. Set the Persistent Volume Claim (PVC) sizes by using the following command:
    kubectl patch pvc <PVC_NAME> -p ’("spec":{"resources":("requests":{"storage":"<NEW_SIZE>"})})’
    To understand the PVC sizing requirements for your deployment size, see Sizing and scalability considerations.
Information
Note

You must manually resize the PVC sizes as required, because Helm does not automatically increase PVC sizes.

  1. Verify that the new PVC sizes are reflected in the pod. If not, restart the pod. 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix IT Operations Management deployment 25.3