Scaling your tracing deployment
This topic provides instructions for scaling the OpenTelemetry Collector deployment for tracing in Kubernetes.
Metrics scaling can have different characteristics from tracing, so we recommend scaling them independently. You can scale an OpenTelemetry Collector with a Prometheus receiver by using a StatefulSet.
Prerequisites
- An OpenTelemetry Operator and Collector running in your cluster
- Installed Terraform dashboards
Scaling possibilities
There are two ways to scale your deployment: vertically and horizontally. In Kubernetes, vertical scaling entails increasing the memory and CPU requests/limits of your Kubernetes pod. Horizontal scaling means adding more pods (collector instances) to handle your traffic.
Vertically scale the Collector
In the values.yaml
for your Collector deployment, adjust the following block:
1
2
3
4
5
6
7
resources:
limits:
cpu: CPU_LIMIT_HERE
memory: MEMORY_LIMIT_HERE
requests:
cpu: CPU_REQUEST_HERE
memory: MEMORY_REQUEST_HERE
Ensure that your memory and CPU values are well formatted for Kubernetes
Horizontally scale the Collector
In the values.yaml
for your collector deployment, adjust the replica count:
1
2
3
collectors:
- name: "collector-name"
replicas: REPLICA_COUNT_HERE
Apply the changes
1
helm upgrade lightstep ./collector_k8s -f ./collector_k8s/values.yaml -n opentelemetry --install
Observe the changes
Your new Collectors should appear in your OpenTelemetry Collector dashboard.