Entrada Metallb vs Nginx no Kubernetes

Entrada Metallb vs Nginx no Kubernetes

Pelo que entendi,

Metallb é um balanceador de carga que atribui endereço IP a um serviço, que pode ser exposto ao mundo exterior.

O Nginx Ingress é igual ao nginx normal, mas reside em kubernetes e fornece roteamento para diferentes rotas.

Minha pergunta é: por que preciso do Metallb se tenho o Nginx Ingress? Porque a entrada do nginx exporá a porta 80/443 ao público e posso usá-la apenas para rotear os serviços de que preciso.

Obrigado.

Responder1

Você precisará de ambos, pois eles resolvem problemas separados:

  • MetalLB recebe solicitações de fora do cluster e as equilibra nos balanceadores de carga do cluster

  • O Nginx recebe solicitações de fora do cluster e as equilibra entre os nós.

Verhttps://kubernetes.github.io/ingress-nginx/deploy/baremetal/#a-pure-software-solution-metallbpara detalhes.

Sem o MetalLB, o serviço de entrada nginx em bare metal permanece no pendingestado porque não possui IP atribuído a ele. MetalLB faz o trabalho de atribuir ao nginx um IP externo.

Sem o Nginx, você terá que encerrar o TLS em todos os clientes, algo que geralmente não é aconselhável.

Outra maneira de ver isso:

  • A entrada nginx lida com o tipoIngress
  • metallb lida com o tipoLoadBalancer

A confusão provavelmente decorre do fato de que, embora as operações acima sejam fundamentalmente diferentes, elas geralmente são realizadas por um “balanceador de carga”.

Observe que o mesmo se aplica à nuvem: você precisa implantar uma entrada para lidar com a terminação de TLS e outros, e o provedor cria automaticamente um balanceador de carga em sua infraestrutura.

informação relacionada