O que são rotas no Kubernetes e para que são usadas?
sobes.tech IA
Resposta da IA
As rotas, ou Ingress Routes, no Kubernetes, são uma forma de fornecer acesso externo aos serviços dentro do cluster. Permitem gerir o tráfego de entrada, direcionando-o para os serviços correspondentes de acordo com as regras definidas pelo utilizador.
Objetivos principais do uso de rotas:
- Fornecer acesso externo: Tornam as aplicações acessíveis de fora do cluster.
- Balanceamento de carga: Distribuem o tráfego de entrada entre várias instâncias de serviços.
- Terminação SSL/TLS: Processam conexões HTTPS ao nível do Ingress, descarregando os serviços.
- Hospedagem virtual: Permitem direcionar o tráfego para diferentes serviços dependendo do nome do host na requisição.
- Enrutamento baseado na rota: Direcionam o tráfego para diferentes serviços dependendo do caminho URL na requisição.
A estrutura típica de uma regra de enrutamento (no manifesto do Ingress) pode parecer assim:
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
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8080
Neste exemplo, o tráfego para exemplo.com sem especificar caminho é dirigido para o serviço my-service (porta 80), e o tráfego para exemplo.com/api é dirigido para o serviço api-service (porta 8080).
Para que o Ingress funcione, é necessário um Controlador de Ingress, que atua como um proxy reverso e implementa as regras definidas nos recursos de Ingress. Controladores de Ingress populares incluem Nginx Ingress Controller, Ambassador, Traefik.