LB IP exposed not accessible

Hi,
I begin with rancher 2.7 and I have created a custom k8s cluster v1.24.8 + rke2r1 with ubuntu server 22.10 nodes (3 etcd+cp and 3 workers).

Usually, I install metallb and nginx ingress controller (bare-metal deployment) and I manage to access to my apps deployed in the cluster with a LoadBalancer IP.

My nodes have ip forward enabled, overlay and br_netfilter, swap off, apparmor and firewalld disabled, no NetworkManager service…

kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.43.29.133 10.31.44.16 80:30327/TCP,443:30108/TCP 2d19h
ingress-nginx-controller-admission ClusterIP 10.43.47.59 443/TCP 2d19h

10.31.44.16 is not attached to any of my network interfaces/nodes.

Does someone have an idea ?

Regards,
Thomas

Sorry if someone waste his time here, I find a solution… It’s a metallb issue (MetalLB provides Services with IP Addresses but doesn't ARP for the address · Issue #1154 · metallb/metallb · GitHub).

Thanks anyway.

Hi @thomas.sec

I´m facing the same issue.
What did you exactly changed?
Ip is aasigned but not reacheble.

Hi

I have an IPAddressPool with name “production” and then I have this L2Advertisement :

apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: l2adv
  namespace: metallb-system
spec:
  ipAddressPools:
  - production

After adding a L2Advertisement, I was able to access LB IP address.

Hope this will help you

Regards