Skip to content

[Backport release-1.2] [virtual-machine] Exclude external VM services from Cilium BPF LB - #2361

Merged
Andrei Kvapil (kvaps) merged 1 commit into
release-1.2from
backport-2357-to-release-1.2
Apr 8, 2026
Merged

Andrei Kvapil (kvaps) merged 1 commit into
release-1.2from
backport-2357-to-release-1.2

Conversation

@github-actions

@github-actions github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown

Description

Backport of #2357 to release-1.2.

Add service.kubernetes.io/service-proxy-name label to LoadBalancer
services when external: true. This prevents Cilium from adding the
service to its BPF service map, fixing two issues:

1. Inter-tenant connectivity via public LB IPs: Cilium's kube-proxy
   replacement DNATs traffic to LB IPs before policy evaluation,
   causing the CiliumClusterwideNetworkPolicy to block legitimate
   cross-tenant traffic through public IPs.

2. WholeIP broken on Cilium 1.19+ (#2327): wildcard service drop
   entries block all ports not declared in the Service spec before
   traffic reaches cozy-proxy's nftables rules.

With this label, Cilium completely ignores the Service. Routing is
handled by kube-ovn (via the wholeIP annotation) and MetalLB
continues to advertise the IP via L2 unaffected.

Tested on Cilium 1.18.6 and 1.19.1: inter-tenant via LB IP works,
pod IP isolation preserved, external access unaffected.

Signed-off-by: mattia-eleuteri <[email protected]>
(cherry picked from commit 026b1c7)
@dosubot dosubot Bot added the size/XS This PR changes 0-9 lines, ignoring generated files label Apr 8, 2026
@kvaps
Andrei Kvapil (kvaps) merged commit ec480b0 into release-1.2 Apr 8, 2026
3 checks passed
@kvaps
Andrei Kvapil (kvaps) deleted the backport-2357-to-release-1.2 branch April 8, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants