Networking Question #019e3a4f
Qual é o principal propósito do Ingress no Kubernetes?
Acessar serviços HTTP e HTTPS em execução no cluster com base em seu endereço IP.
Acessar serviços diferentes de HTTP ou HTTPS em execução no cluster com base em seu endereço IP.
Acessar serviços diferentes de HTTP ou HTTPS em execução no cluster com base em seu caminho.
Acessar serviços HTTP e HTTPS em execução no cluster com base em seu caminho.
Official Explanation / Community Explanations
O principal propósito do Ingress no Kubernetes é fornecer roteamento HTTP e HTTPS para serviços com base em nomes de host e caminhos. O Ingress expõe rotas HTTP e HTTPS de fora do cluster para serviços dentro do cluster, permitindo o roteamento de tráfego controlado por regras definidas no recurso Ingress.
Como Funciona
Um controlador Ingress (ex.: NGINX, Traefik) observa a API do Kubernetes em busca de recursos Ingress e configura um balanceador de carga ou proxy de acordo. O recurso Ingress define regras que mapeiam o tráfego de entrada para serviços de backend. Por exemplo, uma regra pode rotear requisições para example.com/api para um serviço e example.com/web para outro. O Ingress normalmente opera na Camada 7 (camada de aplicação) do modelo OSI, lidando com tráfego HTTP e HTTPS.
Por que a Resposta Correta está Certa
A resposta correta afirma que o Ingress acessa serviços HTTP e HTTPS com base em seu caminho. Isso é preciso porque o Ingress é projetado especificamente para tráfego HTTP/HTTPS e usa roteamento baseado em caminho (ex.: /api, /app) para direcionar requisições a diferentes serviços. O roteamento baseado em caminho é uma funcionalidade central do Ingress, permitindo que múltiplos serviços sejam expostos sob o mesmo domínio.
Por que as Respostas Incorretas estão Erradas
- A opção que menciona acesso baseado em endereço IP para serviços HTTP/HTTPS está incorreta porque o Ingress não roteia com base em endereços IP; ele roteia com base em nomes de host e caminhos. O roteamento baseado em IP é tratado por Services do tipo LoadBalancer ou NodePort.
- A opção que menciona acesso para serviços diferentes de HTTP ou HTTPS (ex.: TCP/UDP) está incorreta porque o Ingress é limitado a HTTP e HTTPS. Para protocolos não HTTP, outros mecanismos como Service tipo LoadBalancer ou controladores Ingress personalizados com suporte a TCP são necessários.
- A opção que combina serviços não HTTP/HTTPS com roteamento baseado em caminho está incorreta porque o roteamento baseado em caminho é um conceito específico para HTTP/HTTPS; protocolos não HTTP não possuem caminhos no mesmo sentido.