Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] LoadBalancer vs NodePort

No final da aula, foi comentado que: "Nós temos, a grosso modo, um serviço balanceando, o nosso acesso a três diferentes Pods, que são iguais. Que, nesse caso, estamos utilizando a nossa aplicação localmente com um nodeport para fazer esse acesso."

No caso, o NodePort está fazendo o trabalho de loadBalancer? E aliás, o que acontece quando temos múltiplos pods com o mesmo alias (que foi o caso dessa aula) amarrados à um nodePort?

3 respostas

Olá Lucas! Obrigado por sua pergunta.

O NodePort é uma forma de expor um serviço Kubernetes em um número de porta estático em cada nó do cluster. Ele é utilizado para acessar um serviço através de um IP do nó e uma porta estática, que é definida pelo usuário.

Já o LoadBalancer é um recurso que permite a distribuição de tráfego entre vários pods, de forma que o serviço fique disponível de maneira mais eficiente. Ele é utilizado quando se tem uma grande quantidade de tráfego e é necessário balancear a carga entre vários pods.

No caso que você mencionou, o NodePort está sendo utilizado para acessar o serviço que está distribuindo o tráfego entre os diferentes pods. O NodePort não está fazendo o trabalho de LoadBalancer, mas sim permitindo que o serviço seja acessado através de um número de porta estático em cada nó do cluster.

Quando temos múltiplos pods com o mesmo alias amarrados a um NodePort, o Kubernetes irá distribuir o tráfego entre os diferentes pods de forma aleatória. Isso significa que cada requisição poderá ser atendida por um pod diferente.

Espero ter ajudado e bons estudos!

O que me confundiu foi que LoadBalancer faz essa distribuição entre vários pods, e no cado do NodePort, como voce disse, ele distribui a carga de forma aleatória. Como os 2 distribuem, me surgiu essa dúvida. Porém o que muda de um pro outro, seria o algoritmo de distribuição? Por exemplo, o NodePort irá fazer aleatoriamente, e o LoadBalancer irá ter um algoritmo mais performático, não necessariamente aleatório?

solução!

Sim, exatamente. Tanto o NodePort quanto o LoadBalancer podem ser utilizados para expor um serviço Kubernetes, mas o modo como eles distribuem o tráfego é diferente. O NodePort distribui o tráfego de forma aleatória entre os diferentes pods, enquanto o LoadBalancer utiliza algoritmos mais sofisticados para distribuir o tráfego de forma mais eficiente. O algoritmo de distribuição utilizado pelo LoadBalancer pode variar de acordo com a implementação específica do LoadBalancer, mas geralmente é baseado em considerações de desempenho, como a capacidade de processamento de cada pod e o tempo de resposta.