21 lines
957 B
YAML
21 lines
957 B
YAML
# CiliumL2AnnouncementPolicy — ARPs each LoadBalancer IP (from lb-ippool) on the
|
|
# LAN so the EXTERNAL-IP is actually reachable. Without it, LB-IPAM assigns IPs
|
|
# but nothing answers ARP (100% packet loss / incomplete ARP). One node per IP
|
|
# holds the lease (leaderElection) to avoid ARP flapping. Requires kube-proxy
|
|
# replacement (enabled) and Cilium L2 announcements (default since v1.14).
|
|
apiVersion: cilium.io/v2alpha1
|
|
kind: CiliumL2AnnouncementPolicy
|
|
metadata:
|
|
name: homelab-l2-announce
|
|
spec:
|
|
loadBalancerIPs: true
|
|
interfaces:
|
|
- eno1
|
|
# Only control-plane nodes may hold the L2 lease. They have the `eno1` LAN NIC;
|
|
# the GPU worker's NICs are enp28s0f*np* (Mellanox) with NO eno1 — if it won the
|
|
# lease it held the LB VIP but couldn't ARP it, turning .160 into a LAN black
|
|
# hole (cluster-wide outage that flapped as reboots reshuffled the lease).
|
|
nodeSelector:
|
|
matchLabels:
|
|
node-role.kubernetes.io/control-plane: ""
|