Scaling deployments
The following sections describe the options available for managing IBM Process Mining and IBM Task Mining scaling to satisfy many concurrent requests in a heavily loaded environment.
Horizontal scaling is accomplished by changing the number of replicas in the IBM Process Mining and IBM Task Mining component's instance. A replica is a copy of a pod that already contains a running service. By having multiple replicas of a pod, you can ensure that your instance has the available resources to handle increasing load
About this task
All of the IBM Process Mining and IBM Task Mining services can be scaled up or down in a cluster, except for the database pods.
To allow web sessions to work properly, Application Services
(<instance name>-service-analytics,
<instance name>-service-bpa,
<instance name>-service-dr,
<instance name>-service-engine,
<instance name>-service-um,
<instance name>-service-web,
<instance name>-service-tm-nginx) have a
configured session affinity = ClientIP. It is necessary to ensure
that the network infrastructure commits the correct propagation of
the browser workstation's IP address to the services.
If a deployment is shown publicly when you change the number of replicas, the service distributes the traffic to the available pods during the update. An available pod is an instance that can be accessed by users.
Procedure
- Set the scale value by using the replicas parameter in the custom
resources.yamlfile that the operator used to install IBM Process Mining and IBM Task Mining. For example, to change the scaling, use the following yaml:apiVersion: processmining.ibm.com/v1beta1 kind: ProcessMining metadata: name: pm1 namespace: processmining spec: version : 2.2.0 license: accept: true cloudPak: IBM Cloud Pak for Business Automation defaultStorageClassName: rook-cephfs processmining: storage: database: external: connectionstring: '' credential: passwordkey: externalpostgrespassword secretname: pm-external-postgres-secret database: processmining host: $EXT_DB_HOSTNAME port: 5432 user: pm_user replicas: nginx : 1 discovery: 2 analytics: 2 bpa: 2 dr: 1 usermanagement: 1 monitoring: 1 acf_batch_sap_p2p: 1 acf_eureka: 1 taskmining: install: true storage: database: external: connectionstring: '' credential: passwordkey: externalpostgrespassword secretname: tm-external-postgres-secret database: taskmining host: $EXT_DB_HOSTNAME port: 5432 schema: tm user: taskminer replicas: nginx: 1 webapp: 2 taskbuilder: 1 taskprocessor: 1 - Modify the existing containers by running the
kubectl applycommand on thecustom_resources.yamlfile.
kubectl apply -f custom_resources.yaml
Results
The following values are updated after the deployment was scaled.
DESIRED- The number of wanted replicas of a pod, which you define when you create the deployment.
CURRENT- The number of replicas currently running.
READY-
The number of replicas that are available to the users compared to the
DESIREDstate. AVAILABLE- The number of replicas that are available to the users.