Docs
Launch GraphOS Studio

Managing Apollo Router resources in Kubernetes

routerkubernetes

This feature is only available with a GraphOS Enterprise plan. If your organization doesn't currently have an Enterprise plan, you can test this functionality by signing up for a free Enterprise trial.

Determining the correct resource requests and limits for your application pods in a Kubernetes system is not an exact science. Your specific needs depend on many factors, including:

  • The cardinality of unique shapes
  • The latency of underlying s and s
  • The size of responses
  • The complexity of query plans

Our general recommendation for Kubernetes is to start with these requests and limits:

resources:
requests:
memory: '1G'
cpu: '1000m'
limits:
memory: '2G'
# no CPU limit to avoid throttling

When using Horizontal pod autoscaling, we recommend targeting 90% utilization:

metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 90
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 90

The Apollo starts up quickly, but when using Managed Federation, the has to fetch the from Apollo Uplink before it can start serving traffic. We recommend measuring your router's startup time and lowering the averageUtilization if your startup time is longer due to Uplink latency or the size of your .

Next
Home
Edit on GitHubEditForumsDiscord