Network load balancers
Distribute traffic across multiple instances on an OVN network with a listen address, backends, and port rules.
A network load balancer receives traffic on a listen address and distributes it across a set of backends — typically several instances running the same service. Load balancers are available on OVN networks only; on bridge networks, use a network forward instead.
How a load balancer works
A load balancer has three parts:
- A listen address — the IP address that receives incoming traffic.
- Backends — named targets inside the network. Each backend has a name, a target address (an instance's private IP), and an optional target port.
- Port rules — each rule maps a listen port and protocol to one or more backends. Traffic arriving on that port is distributed across the listed backends.
Compared to a network forward, which sends each port to a single target address, a load balancer can spread one port's traffic across several instances.
As with forwards, the listen address is a private platform address. For internet reachability, your administrator must map a public IP to it at the network edge — see About networking.
Create a load balancer
- Go to Networking → Networks and open an OVN network.
- Open the Load balancers tab and click the create action.
- Enter the listen address.
- Add backends. For each backend, set a name, the target address, and optionally a target port.
- Add port rules. Each rule has a listen port, a protocol, and the target backends — enter multiple backend names separated by commas to distribute traffic across them.
- Save the load balancer.
You can edit a load balancer's backends and port rules, or delete it, from the same tab.
Load balancers owned by managed Kubernetes clusters
When you create a managed Kubernetes cluster, Akasha automatically creates a load balancer on your OVN network for the cluster's Kubernetes API server. Further entries appear when you configure the cluster's External IPs and TCP routes. The cluster's API-server load balancer is protected: attempting to delete or edit it fails with "Cannot modify cluster-managed load balancer. Delete the cluster instead." Entries for External IPs and TCP routes are not blocked, but deleting one breaks that traffic and Akasha does not recreate it — manage them through the cluster's own traffic features instead — and their backends are kept in sync with the cluster's worker nodes automatically.
Do not try to manage cluster traffic by editing these entries. Use the cluster's own traffic features instead: see Ingress and external traffic for External IPs and TCP routes.