Aula 9: Expondo aplicações — LoadBalancer, Ingress e DNS
Na aula anterior conhecemos um Service do tipo ClusterIP — um endereço estável e um nome DNS que se conectam aos Pods, mas somente de dentro do cluster. Agora a pergunta é como um visitante de fora (da internet) chega até a aplicação. Vamos conhecer três níveis de exposição. O ClusterIP permanece ap
ClusterIP é um telefone interno do escritório; LoadBalancer é um número externo que qualquer pessoa pode discar; e Ingress é o lobby do prédio que envia cada visitante ao escritório certo pelo nome na porta.
- Ingress
- Um objeto que roteia tráfego HTTP/HTTPS externo para Services internos por nome de host e path. Ele fornece um único ponto de entrada para várias aplicações. Precisa de um Ingress Controller rodando no cluster para aplicar as regras.
- LoadBalancer
- Um tipo de Service que solicita ao provedor de nuvnum IP externo real e balanceia o tráfego no nível de rede (L4) para os Pods desse Service. Isso torna a aplicação acessível de fora do cluster.
- DNS do cluster
- Um serviço de DNS interno que resolve nomes de Services para endereços IP dentro do cluster. Um nome completo se parece com: <service>.<namespace>.svc.cluster.local, por exemplo web.default.svc.cluster.local.
- ClusterIP
- O tipo de Service padrão: um IP virtual estável, acessível somente de dentro do cluster. Ótimo para comunicação entre componentes internos, mas não acessível de fora.
- NodePort
- Um tipo de Service que abre uma porta fixa em cada node do cluster, de modo que o Service fica acessível pelo endereço de um node e essa porta. Uma forma simples, mas rudimentar, de expor externamente.