Scale and autoscale runtime services

You can scale most services running in Kubernetes from the command line or in a configuration override. You can set scaling parameters for Apigee hybrid runtime services in the overrides.yaml file.

How you scale and autoscale each service depends on the type of service.

For more information on scaling, see the Kubernetes documentation.

The following table summarizes the hybrid runtime services and how you can scale and autoscale them in configurations or from the command line:

Service Implemented As Scaling
Cassandra StatefulSet

(Scale up only)

To scale up on the command line, you can use the kubectl scale or patch options.

To scale up via configuration, set the value of the cassandra object's replicaCount configuration property in the overrides.yaml file.

For more information on setting configuration properties, see Manage runtime plane components.

StatefulSets do not support autoscaling. Cassandra is deployed in sets of 3 replicas. Apigee recommends that you add 3 additional nodes to the Cassandra nodepool as standby worker nodes.

To scale the number of Cassandra nodes down, see Scale down Cassandra.

Ingress/LoadBalancer 3rd-party proxy Depends on the type of Ingress.
Logger DaemonSet DaemonSets manage replicas of a pod on all nodes, so they scale when you scale the pods themselves.
MART
Synchronizer
Metrics
MPs
ApigeeDeployment (Custom CRD) To scale on the command line, you can use the kubectl scale option.

To scale via configuration, increase the value of the Deployment's replicaCountMin configuration property for the mart, synchronizer, metrics, or mp object.

Deployments use a Horizontal Pod Autoscaler for autoscaling. Set the Deployment object's targetCPUUtilizationPercentage property to the threshold for scaling up; when this value is exceeded, Kubernetes adds pods up to the value of replicaCountMax.

For more information on setting configuration properties, see Manage runtime plane components.

UDCA ApigeeDeployment (Custom CRD) To scale via configuration, increase the value of the udca object's replicaCountMin property in the overrides.yaml file.

The UDCA service uses a Horizontal Pod Autoscaler for autoscaling. Set the udca object's targetCPUUtilizationPercentage property to the threshold for scaling up; when this value is exceeded, Kubernetes adds pods up to the value of replicaCountMax.

For more information on setting configuration properties, see Manage runtime plane components.