Maximo Application Suite
Customer-managed

Customizing workload scale

You can scale a pod horizontally and vertically by setting container or initContainer resources or pod replicas. By default, some pods have more than one replica. Depending on the requirements of your workloads, you can set the values for these replicas to less than or more than the default value.

About this task

In Kubernetes, a quality of service class is assigned to every pod based on the resource requests and the limits of its component containers. The resources can be set to the following quality of service classes:

  • Guaranteed
  • Burstable
  • BestEffort
When a node runs out of resources, Kubernetes evicts nodes in the following order:
  1. BestEffort pods
  2. Burstable pods
  3. Guaranteed pods

For more information, see Configure Quality of Service for Pods.

For more information about supported pods and their default values, see Supported pods.

Warning: Setting pod resource limits to less than their default values can result in throttling or slowdowns. The replicas for entity manager pods, Jobs pods, and CronJobs pods are set to 1. You cannot change the pod resource limits for these pods because of the nature of their workloads.
Note: initContainers do not need to be modified because they are designed for the basic task of initialization. The main load is within the Containers.

Procedure

  1. In the Red Hat® OpenShift® web console, from the side navigation menu, click Administration > CustomResourceDefinitions and locate the custom resource that you want to customize.
  2. Click Instances and open the instance of the custom resource that you want to work on.
  3. Click the YAML tab to open the editor.
  4. If the podTemplates field does not exist, add the podTemplates field inside the spec property.
    Note:
    • For IBM Maximo Health, inside the spec property, add the components, health, and then the podTemplates field.
    • For the IoT tool, inside the spec property, add the components section. In the components section, add all the component names, and then the podTemplates field. For example,
      spec:
       components:
        actions: # actions is the IoT component name
         podTemplates: {} # templates for the actions component operator
  5. Add or change the pod entry according to your requirement.
    For example in the following sample code, admin-dashboard is the pod entry that is edited.
  6. Add the field replicas and container or initContainer according to your requirements.
    kind: Suite
    apiVersion: core.mas.ibm.com/v1
    metadata:
      name: inst1
      namespace: mas-inst1-core
      labels:
        mas.ibm.com/instanceId: inst1
    spec:
      podTemplates:
        - name: admin-dashboard
          replicas: 2
          containers:
            - name: admin-dashboard
              resources:
                requests:
                  cpu: 0.01
                  memory: 196Mi
                limits:
                  cpu: 0.8
                  memory: 512Mi
    
    
  7. Click Save. Wait for the operator to reconcile and apply your changes.