Azure / Azure/AKS

[Feature] Container-native Azure Load Balancer

Open
#5,888 1 comment 1 reaction 1 assignee Assigned to @brianlehr View on GitHub
feature-request networking networking/load-balancers
Dominant language
TypeScript
Stars
2.1k
Forks
395
Avg merge
4d 15h
Merged PRs (30d)
14

Description

**Is your feature request related to a problem? Please describe.**

Azure Load Balancer targets nodes, not pods. That mismatch causes four recurring problems for AKS workloads:

- Extra hops and latency. Traffic lands on any node in the cluster and is then forwarded to the node holding the pod, via kube-proxy or a proxy ingress controller. This adds latency and creates SNAT contention on high-QPS paths.
- Source IP is lost. With externalTrafficPolicy: Cluster, the proxy hop strips the client source IP. Preserving it requires externalTrafficPolicy: Local, which introduces its own failure mode.
- Traffic blackholing. With externalTrafficPolicy: Local, the load balancer can send traffic to nodes that no longer host a healthy pod, because health is evaluated at node level. Requests are dropped until probes catch up.
- Session instability. Affinity is node-based, so pod rescheduling, scaling, or node rehash breaks sticky sessions.

**Describe the solution you'd like**

A container-native LB that enables direct, high-performance load balancing to container endpoints (pods), reducing latency and improving reliability by bypassing node-level proxies and providing granular health checks and session affinity at the pod level. This would result in faster traffic delivery, better failover, and more efficient scaling for modern, containerized applications.

**Describe alternatives you've considered**

- Standard Load Balancer with externalTrafficPolicy: Cluster. Even traffic spread, but the proxy hop strips source IP and adds latency.
- Standard Load Balancer with externalTrafficPolicy: Local. Preserves source IP, but blackholes traffic when a node has no healthy pod, and concentrates load when pods are unevenly distributed.
- Application Gateway for Containers. Fully managed and pod-aware, but operates at Layer 7. This request is for Layer 4, where workloads need direct TCP and UDP handling rather than HTTP-aware routing.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.