# 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