Configure Autoscaling
This feature is available from Harness Helm Chart version 0.23.0.
By default, autoscaling is enabled for all services in Harness Helm Chart now.
You can set up autoscaling for harness workloads using HorizontalPodAutoscaler. Harness helm chart supports configuring HPA for either all services at once or for selective services.
Configure autoscaling for all services
You can configure autoscaling for all services using the global override of helm chart.
global:
autoscaling:
enabled: true # Enables autoscaling for all services
minReplicas: 1 # Set minimum replicas for all services
maxReplicas: 5 # Set maximum replicas for all services
targetCPU: 80 # Set target CPU for all services
targetMemory: 80 # Set target Memory for all services
Configure autoscaling for selective services
If you want to change the autoscaling spec such as minReplicas
for selective services, you can configure it like below.
global:
autoscaling:
enabled: true # Disables autoscaling for all services
minReplicas: 1 # Set minimum replicas for all services
maxReplicas: 5 # Set maximum replicas for all services
targetCPU: 80 # Set target CPU for all services
targetMemory: 80 # Set target Memory for all services
platform:
ng-manager:
autoscaling:
minReplicas: 3 # Takes precedence over global minReplicas
The same applies for other spec fields maxReplicas
, targetCPU
and targetMemory
.
Configure autoscaling behaviour of selective services
You can set autoscaling behaviour of services through their individual overrides. For eg., to set the scaleDown policy of ng-manager, you can configure it like below.
platform:
ng-manager:
autoscaling:
behavior:
scaleDown:
policies:
- type: Pods
value: 4
periodSeconds: 60
- type: Percent
value: 10
periodSeconds: 60
To learn more about the HPA behavior, you can refer to its Official Documentation