-
Notifications
You must be signed in to change notification settings - Fork 117
Open
Description
Problem
Currently, the default values.yaml does not specify resource requests or limits for most Texera microservices (webserver, workflow-computing-unit-manager, workflow-compiling-service, file-service, config-service, access-control-service), and the PostgreSQL and MinIO resource requests are set relatively high. This makes it difficult to run Texera on resource-constrained environments such as local development clusters (e.g., k3s on a laptop, Minikube, or small cloud VMs).
The values-development.yaml overlay already addresses this by adding conservative resource constraints, but the base values.yaml should document sensible defaults so that new users aren't surprised by unbounded resource consumption.
Proposed Changes
- Reduce PostgreSQL resource requests/limits — lower CPU request from
1to0.25and memory from1Gito256Mi(with explicit limits). - Add MinIO resource limits — set memory request and limit to
256Mi. - Add resource requests and limits for all Texera microservices:
| Service | CPU Request | CPU Limit | Memory Request | Memory Limit |
|---|---|---|---|---|
| webserver | 10m | 1000m | 256Mi | 1Gi |
| workflow-computing-unit-manager | 10m | 1000m | 256Mi | 256Mi |
| workflow-compiling-service | 10m | 1000m | 256Mi | 256Mi |
| file-service | 10m | 1000m | 256Mi | 512Mi |
| config-service | 10m | 1000m | 256Mi | 256Mi |
| access-control-service | 10m | 1000m | 256Mi | 256Mi |
Motivation
- Prevents pods from consuming unbounded resources and starving other services on a shared node.
- Enables Texera to run on machines with as little as ~8GB RAM.
- Helps Kubernetes schedule pods more effectively by providing the scheduler with accurate resource expectations.
- Provides a documented starting point that users can tune for their own hardware.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels