48 lines
1021 B
Markdown
48 lines
1021 B
Markdown
# HPA Review
|
|
|
|
## Overview
|
|
|
|
HorizontalPodAutoscaler (HPA) has been configured for RPC nodes to automatically scale based on CPU and memory usage.
|
|
|
|
## HPA Configuration
|
|
|
|
### Target
|
|
- **StatefulSet**: besu-rpc
|
|
- **Namespace**: besu-network
|
|
|
|
### Scaling Parameters
|
|
- **Min Replicas**: 2
|
|
- **Max Replicas**: 10
|
|
- **CPU Target**: 70% utilization
|
|
- **Memory Target**: 80% utilization
|
|
|
|
### Scaling Behavior
|
|
- **Scale Up**: 100% increase or 2 pods per minute (whichever is higher)
|
|
- **Scale Down**: 50% decrease per minute
|
|
- **Stabilization Window**: 300 seconds (scale down), 0 seconds (scale up)
|
|
|
|
## Validation
|
|
|
|
Run the validation script:
|
|
```bash
|
|
./scripts/validation/validate-hpa.sh
|
|
```
|
|
|
|
## Application
|
|
|
|
Apply HPA:
|
|
```bash
|
|
kubectl apply -f k8s/base/rpc/hpa.yaml
|
|
```
|
|
|
|
## Testing
|
|
|
|
Generate load on RPC endpoints and verify HPA scales pods based on CPU/memory usage.
|
|
|
|
## Requirements
|
|
|
|
- Metrics server must be installed in the cluster
|
|
- Resource requests and limits must be set on pods
|
|
- HPA requires metrics API to be available
|
|
|