Configuring Requests and Limits for the AtScale Containers
In Kubernetes, requests and limits refer to the amounts of CPU and memory resources a container requires (requests), and the amount of each resource it is allowed to use (limits).
If needed, you can define requests and limits for the AtScale containers in your values override file. To do this, include the resources
property for the container. For example, the following configures resources for the engine's gateway
container:
atscale-engine:
gateway:
replicaCount: 3
resources:
limits:
cpu: 3
memory: 2Gi
requests:
cpu: 1500m
memory: 1Gi
The following sections provide the minimum request and limit values for running AtScale in development and production environments.
These settings are the minimum requirements for running AtScale in development and production environments. Depending on your usage of AtScale, these settings may need to be changed. You can use a tool like Goldilocks to assess how your cluster is performing under the load of your system.
For additional information on Kubernetes requests and limits, refer to the Kubernetes documentation.
Development
Component | Container | CPU Request | CPU Limit | Memory Request | Memory Limit | Replicas |
---|---|---|---|---|---|---|
Entitlement | main | 250m | 1 | 500Mi | 1Gi | 1 |
Engine | certImage | 100m | 250m | 250Mi | 500Mi | 1 |
Engine | gateway | 1 | 2 | 1Gi | 2Gi | 1 |
Engine | main | 4 | 8 | 16Gi | 32Gi | 1 |
SML | main | 1 | 2 | 1500Mi | 3Gi | 1 |
AtScale Proxy | main | 1 | 2 | 1Gi | 2000Mi | 1 |
PostgreSQL | pgpool | 1 | 2 | 1Gi | 2500Mi | 1 |
PostgreSQL | postgresql | 1 | 2 | 4Gi | 8Gi | 1 |
PostgreSQL | metrics | 200m | 200m | 500Mi | 500Mi | 1 |
Redis | master | 2 | 4 | 8Gi | 16Gi | 1 |
Redis | replica | 2 | 4 | 8Gi | 16Gi | 1 |
Keycloak | main | 2 | 4 | 8Gi | 12Gi | 1 |
OTEL | main | 1 | 2 | 1Gi | 1Gi | 1 |
Production
AtScale's built-in PostgreSQL instance should not be used in production. For production environments, you should use a managed solution from your cloud provider, or set up an operator-based PostgreSQL deployment. For more information, see Configuring an External PostgreSQL Instance.
Component | Container | CPU Request | CPU Limit | Memory Request | Memory Limit | Replicas |
---|---|---|---|---|---|---|
Entitlement | main | 250m | 1 | 500Mi | 1Gi | 3 |
Engine | certImage | 100m | 250m | 250Mi | 500Mi | 3 |
Engine | gateway | 1500m | 3 | 1Gi | 2Gi | 3 |
Engine | main | 8 | 16 | 32Gi | 32Gi | 3 |
SML | main | 1 | 2 | 1500Mi | 3Gi | 3 |
AtScale Proxy | main | 1 | 2 | 1Gi | 2000Mi | 3 |
PostgreSQL | pgpool | 1 | 2 | 1Gi | 2500Mi | 3 |
PostgreSQL | postgresql | 2 | 4 | 8Gi | 16Gi | 3 |
PostgreSQL | metrics | 200m | 200m | 500Mi | 500Mi | 3 |
Redis | master | 2 | 4 | 8Gi | 16Gi | 1 |
Redis | replica | 2 | 4 | 8Gi | 16Gi | 3 |
Keycloak | main | 2 | 4 | 8Gi | 16Gi | 3 |
OTEL | main | 1 | 2 | 1Gi | 2Gi | 3 |