Ingress e roteamento externo
Exponha vários serviços ao mundo externo por um único ponto de entrada usando recursos Ingress, roteamento por host e caminho e um controlador Ingress.
Ingress e roteamento externo é uma aula grátis de Docker & DevOps Fundamentals no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Docker & DevOps Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
Além de NodePort e LoadBalancer
Um Service pode expor uma aplicação, mas atribuir um IP externo próprio a cada aplicação fica caro e confuso. O Ingress fornece um único ponto de entrada HTTP inteligente que encaminha solicitações para vários serviços.
O que é um Ingress
Um Ingress é um objeto do Kubernetes que descreve regras de roteamento HTTP/HTTPS: qual host ou caminho de URL corresponde a qual Serviço.
Você precisa de um controlador
O objeto Ingress contém apenas regras. Um controlador de Ingress (nginx, Traefik, HAProxy) observa essas regras e realiza o roteamento. Sem controlador, não há efeito.
kubectl get pods -n ingress-nginxUm Ingress básico
Este Ingress envia todo o tráfego para um único Serviço de backend na porta 80.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Roteamento baseado em host
Adicione um host para fazer o roteamento pelo nome de domínio — api.example.com para um serviço, shop.example.com para outro, todos no mesmo IP.
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api
port:
number: 8080Roteamento baseado em caminho
Você também pode fazer o roteamento pelo caminho da URL em um único host: /api para o serviço da API e / para o frontend web.
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Encerramento do TLS
O Ingress pode encerrar o HTTPS usando um segredo TLS, para que seus serviços recebam HTTP simples enquanto os usuários obtêm criptografia.
spec:
tls:
- hosts:
- shop.example.com
secretName: shop-tlsAnotações ajustam o comportamento
Anotações específicas do controlador configuram reescritas, tempos limite, limites de taxa e muito mais. Elas ficam nos metadados do Ingress.
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /IngressClass
Quando existem vários controladores, ingressClassName informa ao Kubernetes qual deles deve tratar este Ingress.
spec:
ingressClassName: nginxInspecionando o Ingress
Verifique suas regras e o endereço atribuído com kubectl get ingress e use describe para consultar os eventos.
kubectl describe ingress web-ingressA alternativa moderna: Gateway API
O Kubernetes está evoluindo em direção à Gateway API, uma sucessora do Ingress com mais recursos de expressão. O Ingress continua amplamente usado e é o ponto de partida adequado.
Verificação rápida
Por que um controlador de Ingress é necessário?
Recapitulação
Agora você consegue expor aplicações de forma organizada:
- Ingress define regras de roteamento HTTP; um controlador de Ingress as aplica
- Faça o roteamento por host ou caminho usando um único ponto de entrada
- Encerre o TLS e ajuste o comportamento com anotações
ingressClassNameseleciona o controlador
Um IP, vários serviços e roteamento inteligente.
Perguntas Frequentes
A aula “Ingress e roteamento externo” é grátis?
Sim — o texto completo de “Ingress e roteamento externo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Docker & DevOps Fundamentals, atualize para CoddyKit PRO. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
O que vou aprender em “Ingress e roteamento externo”?
Exponha vários serviços ao mundo externo por um único ponto de entrada usando recursos Ingress, roteamento por host e caminho e um controlador Ingress. Você pratica Docker & DevOps Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Docker & DevOps Fundamentals?
Nenhuma experiência prévia é necessária. Docker & DevOps Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Ingress e roteamento externo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Docker & DevOps Fundamentals?
Sim. Cada aula de Docker & DevOps Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Implantações para aplicações sem estado
- Serviços para acesso à rede
- ConfigMaps e Secrets
- Ingress e roteamento externo