Validate Kubernetes Resource Limits and Requests
Check resources.limits and resources.requests in Helm values.yaml. Detect missing requests, limits, and inconsistent resource configurations.
Detailed Explanation
Resource Limits and Requests
Properly configured resource requests and limits are essential for Kubernetes pod scheduling, stability, and cost management. The Helm Values Validator checks for common misconfigurations in this critical section.
Recommended Pattern
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
What Gets Validated
- Both sections present: Having
limitswithoutrequestsmeans requests default to limits (wasteful). Havingrequestswithoutlimitsmeans no upper bound (risky). - Section structure: Both
limitsandrequestsshould be mappings (objects), not strings or arrays. - Missing resources: When no
resourcessection exists at all, an informational message suggests adding one.
Resource Units Reference
| Resource | Unit | Examples |
|---|---|---|
| CPU | millicores | 100m, 250m, 1000m (= 1 core) |
| Memory | bytes | 128Mi, 512Mi, 1Gi, 2Gi |
Common Anti-Patterns
No resources defined (dangerous in production):
# resources: {} -- or completely missing
Pods can consume unlimited resources, causing node instability and evictions.
Limits without requests:
resources:
limits:
cpu: 500m
memory: 512Mi
# requests missing - defaults to limits values
This wastes cluster capacity because the scheduler reserves the full limit amount.
Requests exceeding limits:
resources:
limits:
cpu: 100m
requests:
cpu: 500m # ERROR: request > limit
Kubernetes will reject this pod spec.
Use Case
Auditing resource configurations across multiple Helm releases to ensure all deployments have proper limits set before enabling cluster autoscaling or implementing resource quotas.
Try It — Helm Values Validator
Related Topics
Validate HPA Autoscaling Configuration in Helm
Resource Management
Validate a Basic Web App values.yaml
Basic Configuration
Production Readiness Checklist for Helm Values
Advanced Patterns
Validate Multi-Container Pod Values
Advanced Patterns
Compare Default vs Override Values for Multi-Environment
Advanced Patterns