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