0Pricing
DevOps Bootcamp · Lección

Ingress y enrutamiento externo

Exponga varios servicios al exterior mediante un único punto de entrada usando recursos Ingress, enrutamiento por host y ruta, y un controlador Ingress.

Ingress y enrutamiento externo es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Más allá de NodePort y LoadBalancer

Un Service puede exponer una aplicación, pero asignar a cada aplicación su propia IP externa resulta caro y complicado. Ingress proporciona un único punto de entrada HTTP inteligente que dirige el tráfico a muchos servicios.

¿Qué es Ingress?

Un Ingress es un objeto de Kubernetes que describe reglas de enrutamiento HTTP/HTTPS: qué host o ruta de URL se asigna a qué Service.

Necesita un controlador

El objeto Ingress solo contiene reglas. Un controlador de Ingress (nginx, Traefik, HAProxy) supervisa esas reglas y realiza el enrutamiento. Sin controlador, no hay efecto.

kubectl get pods -n ingress-nginx

Un Ingress básico

Este Ingress dirige todo el tráfico a un único Service de backend en el puerto 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

Enrutamiento basado en host

Añada un host para enrutar por nombre de dominio: api.example.com a un servicio, shop.example.com a otro, todo en la misma IP.

rules:
- host: api.example.com
  http:
    paths:
    - path: /
      pathType: Prefix
      backend:
        service:
          name: api
          port:
            number: 8080

Enrutamiento basado en rutas

También puede enrutar por ruta de URL dentro de un mismo host: /api al servicio de API y / al frontend web.

paths:
- path: /api
  pathType: Prefix
  backend:
    service:
      name: api
      port:
        number: 8080
- path: /
  pathType: Prefix
  backend:
    service:
      name: web
      port:
        number: 80

Terminación de TLS

Ingress puede terminar HTTPS mediante un secreto TLS, de modo que sus servicios reciban HTTP sin cifrar mientras los usuarios cuentan con cifrado.

spec:
  tls:
  - hosts:
    - shop.example.com
    secretName: shop-tls

Las Annotations ajustan el comportamiento

Las annotations específicas del controlador configuran reescrituras, tiempos de espera, límites de tasa y mucho más. Se almacenan en los metadatos del Ingress.

metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /

IngressClass

Cuando hay varios controladores, ingressClassName indica a Kubernetes cuál debe gestionar este Ingress.

spec:
  ingressClassName: nginx

Inspeccionar Ingress

Compruebe sus reglas y la dirección asignada con kubectl get ingress y use describe para consultar los eventos.

kubectl describe ingress web-ingress

La alternativa moderna: Gateway API

Kubernetes está evolucionando hacia la Gateway API, un sucesor más expresivo de Ingress. Ingress sigue siendo ampliamente utilizado y es el punto de partida adecuado.

Comprobación rápida

¿Por qué se necesita un controlador de Ingress?

Resumen

Ahora puede exponer aplicaciones de forma ordenada:

  • Ingress define las reglas de enrutamiento HTTP; un controlador de Ingress las aplica
  • Enrute por host o ruta a través de un único punto de entrada
  • Termine TLS y ajuste el comportamiento con annotations
  • ingressClassName selecciona el controlador

Una IP, muchos servicios y enrutamiento inteligente.

Preguntas frecuentes

¿La lección «Ingress y enrutamiento externo» es gratis?

Sí — el texto completo de «Ingress y enrutamiento externo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Ingress y enrutamiento externo»?

Exponga varios servicios al exterior mediante un único punto de entrada usando recursos Ingress, enrutamiento por host y ruta, y un controlador Ingress. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Ingress y enrutamiento externo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Deployments para aplicaciones sin estado
  2. Services para el acceso de red
  3. ConfigMaps y Secrets
  4. Ingress y enrutamiento externo
← Volver a DevOps Bootcamp