Sobes.tech
Middle

Qual é a diferença entre uma rota e uma ingress?

sobes.tech IA

Resposta da IA

Rota (Route) — termo utilizado no OpenShift. Define a forma de aceder a um serviço de fora do cluster OpenShift, fornecendo um hostname público. O Router do OpenShift processa as rotas e encaminha o tráfego para os serviços correspondentes.

Ingress (Ingress) — objeto API padrão do Kubernetes. Gerencia o acesso externo aos serviços no cluster Kubernetes, geralmente através de HTTP/HTTPS. O controlador de Ingress implementa as regras definidas no objeto Ingress.

Principais diferenças:

Característica Route (OpenShift) Ingress (Kubernetes)
Padrão Específico do OpenShift API padrão do Kubernetes
Flexibilidade Funcionalidades integradas (TLS, testes A/B) Depende do controlador de Ingress
Implementação Router do OpenShift Diversos controladores de Ingress (Nginx, HAProxy, Traefik, etc.)
Suporte Apenas OpenShift Qualquer distribuição Kubernetes

Exemplo de Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: exemplo-ingress
spec:
  rules:
  - host: exemplo.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80

Exemplo de Route:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: minha-rota
spec:
  host: minhaapp.openshift.exemplo.com
  to:
    kind: Service
    name: my-service
    weight: 100
  port:
    targetPort: 8080
  tls:
    termination: edge