Scaling Configuration
When deployed in Kubernetes, Logi Composer supports both vertical (adding resources) and horizontal (adding pods) scaling.
This topic covers:
Horizontal Autoscaling
By default, the Helm chart comes with horizontal autoscaling disabled. Follow this guide to learn more about Horizontal Pod Autoscaling and how to enable it.
Manual Scaling
If you decide not to enable autoscaling you can still scale the resources/pods manually.
Manual Horizontal Scaling
To set the number of replicas for a Composer service such as zoomdataWeb do the following:
-
Add the desired number of replicas to the
values.yaml:zoomdataWeb: replicaCount: 2 # default is 1 -
Install a new helm chart release or upgrade an existing one.
Important: Don’t usekubectlto change the number of replicas for Logi Composer pods. These changes will be overwritten on the next usage of Helm.
Manual Vertical Scaling
Configure each pod’s resource manually in the corresponding block of the values.yaml file, but it's always recommended to prefer horizontal over vertical scaling. Improper change of the resources may lead to application failure on startup or instability during the operation.
Since Logi Composer consists of a number of Java-based microservices, apart from generic pod resource types (i.e. CPU and memory), Logi Composer services also expose properties for configuring application JVM memory: heapSizeMin and heapSizeMax. For example, here are the resource-related defaults for the zoomdataWebservice:
If you decide to customize these properties, please follow these general recommendations:
Memory request and limit should be the same.
Memory request should be at least 25% bigger than JVM's maximum heap size to account for non-heap memory consumed by Java applications.
CPU limit is empty.
Note: Find more information about Composer and Kubernetes here: Running Composer in Kubernetes.
Comments
0 comments
Please sign in to leave a comment.