0Pricing
Docker & DevOps Fundamentals · Aula

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-nginx

Um 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: 80

Roteamento 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: 8080

Roteamento 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: 80

Encerramento 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-tls

Anotaçõ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: nginx

Inspecionando 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-ingress

A 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
  • ingressClassName seleciona 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

  1. Implantações para aplicações sem estado
  2. Serviços para acesso à rede
  3. ConfigMaps e Secrets
  4. Ingress e roteamento externo
← Voltar para Docker & DevOps Fundamentals