MetalLB
Dá a um Service do tipo LoadBalancer um IP externo de verdade em clusters rodando em hardware próprio, onde não existe provedor de nuvem a quem pedir.
Na nuvem, o Kubernetes chama a API do provedor e recebe de volta um balanceador de carga. Em bare metal nada acontece: o serviço fica para sempre no estado pending. O MetalLB atribui endereços de um pool configurado e os anuncia de duas maneiras. No modo camada 2, um nó eleito responde ao ARP ou NDP pelo endereço, o que é simples de montar, mas faz todo o tráfego passar por esse nó e a troca em caso de falha leva alguns segundos. No modo BGP, abre-se uma sessão com os roteadores da rede, que anunciam o endereço a partir de vários nós ao mesmo tempo, dando balanceamento real via ECMP, mas exige que alguém te deixe mexer no roteamento.