The requests are hitting your cluster. CPUs grind, memory climbs, and the load balancer stands between service and collapse. You have Open Policy Agent running at the edge. Now it must work under real traffic, spread cleanly across nodes, and enforce policy without becoming the bottleneck.
Deploying OPA behind an external load balancer gives you scale, resilience, and distribution. It keeps policy checks consistent for every request, no matter which instance processes it. The key is correct integration. Misconfigure the load balancer and OPA can break under concurrency spikes. Get it right and policy runs at wire speed.
Use an external load balancer that supports health checks, sticky sessions when needed, and TLS termination. Configure OPA as stateless where possible. Store policies centrally or pull them from a trusted source like GitOps pipelines. This prevents drift across instances. In Kubernetes, expose OPA through a Service of type LoadBalancer or use ingress configured with policy-aware routing. For bare metal or cloud VMs, set up a reverse proxy load balancer like NGINX, HAProxy, or AWS ALB, then point traffic to each OPA node’s port.