Autoscaling

The Helm chart deploys the 5G event streaming applications using a fixed number of replicas. The number of replicas can be configured to scale based on application metrics such as average memory or CPU usage.

Autoscaling Properties describes the properties related to application scaling control.

Table 1. Autoscaling Properties
Property Description
application.replicaCount The number of pods to deploy for this application. This value is ignored if the corresponding application.autoscaling.enabled property is set to true. The default value is 1.
application.autoscaling.enabled If set to true, then the corresponding application.replicaCount property is ignored and a horizontal pod auto scaler is created. See the discussion about the horizontal pod auto scaler in Kubernetes documentation at the Kubernetes website. The default value is false.
application.autoscaling.minReplicas The minimum number of pods that the application must have at any one time. This property is only applicable if the corresponding application.autoscaling.enabled property is set to true. The default value is 2.
application.autoscaling.maxReplicas The maximum number of pods that the application must have at any one time. Only applicable if the corresponding application.autoscaling.enabled property is set to true. The default value is 6.
application.autoscaling.targetCPUUtilizationPercentage The target CPU usage percentage. If this value is exceeded, the number of pods is increased. Only applicable if the corresponding application.autoscaling.enabled property is set to true.
application.autoscaling.targetMemoryUtilizationPercentage The average memory usage percentage. If this value is exceeded, the number of pods is increased. Only applicable if the corresponding application.autoscaling.enabled property is set to true.
Note: Austoscaling is not available for the ASN.1 sFTP Sink application as it is deployed using a StatefulSet.

The following example shows configuration of autoscaling for the CDR ASN.1 Streamer application:

cdr-asn1-streamer:
  autoscaling:
    enabled: true
    minReplicas: 2
    maxReplicas: 10
    targetCPUUtilizationPercentage: 90