[Feature] Add podIP as target option for Standard LB
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 395
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 13
Description
**Is your feature request related to a problem? Please describe.**
When using a Service of type LoadBalancer on AKS, the Azure Standard Load Balancer always targets node IPs in its backend pool. Traffic must go through kube-proxy on the node before reaching the pod, adding latency and an extra network hop.
AWS supports direct pod IP targeting via the AWS Load Balancer Controller (NLB IP target mode). Azure has no equivalent for L4 load balancing today.
The cloud-provider-azure documentation already lists `podIP` as a planned third backend pool type, but it is marked as "not supported yet":
https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend
**Describe the solution you'd like**
Implement `loadBalancerBackendPoolConfigurationType: podIP` so that the Azure Standard Load Balancer backend pool is populated with pod IPs (from EndpointSlices) instead of node IPs, allowing traffic to flow directly from the LB to pods.
**Describe alternatives you've considered**
- **Application Gateway + AGIC**: Supports pod IP targeting but only for L7 (HTTP/HTTPS), not TCP/UDP.
- **externalTrafficPolicy: Local**: Reduces hops but still routes through kube-proxy.
**Additional context**
- The constant `LoadBalancerBackendPoolConfigurationTypePodIP = "podIP"` already exists in cloud-provider-azure (`pkg/consts/consts.go`).
- A previous implementation effort was made in kubernetes-sigs/cloud-provider-azure (issue #8395, PRs #8176, #8218) with active maintainer review, but was auto-closed due to inactivity.
- Community interest: https://learn.microsoft.com/en-us/answers/questions/1506480/load-balancer-with-podip
Contributor guide
Assessment
This issue has not been assessed yet.