ansango

This content is not available in this language yet; it is shown in its original language.

Traefik

2 min read

Traefik es un moderno proxy inverso y balanceador de carga diseñado para entornos dinámicos y nativos de la nube, destacando especialmente con sistemas de orquestación de contenedores como Docker y Kubernetes. Se configura automáticamente al integrarse con los componentes de infraestructura existentes, eliminando la necesidad de recargas manuales cuando se añaden, eliminan o escalan servicios.

Funcionalidades clave

  • Configuración dinámica y descubrimiento de servicios: Detecta y gestiona automáticamente el enrutamiento a nuevos servicios.
  • SSL/TLS automático: Maneja la terminación SSL/TLS y obtiene y renueva automáticamente certificados de Let’s Encrypt.
  • Balanceo de carga: Distribuye eficientemente las solicitudes entrantes entre múltiples instancias de un servicio.
  • Middleware: Soporta componentes de middleware para modificar o mejorar solicitudes y respuestas.
  • Métricas y trazado: Proporciona métricas para sistemas como Prometheus y Datadog, y soporta trazado distribuido.
  • Interfaz web (Dashboard): Ofrece un panel de control web integrado para monitorear el tráfico y la configuración en tiempo real.
  • Soporte de protocolos: Soporta HTTP/2, HTTP/3, WebSockets y gRPC.

Ventajas

  • Gestión simplificada: Su configuración dinámica y el descubrimiento automático de servicios simplifican la gestión de sistemas distribuidos complejos.
  • Diseño nativo de la nube: Diseñado específicamente para entornos contenerizados y arquitecturas de microservicios.
  • Facilidad de uso: Configuración sencilla, especialmente con sistemas de orquestación de contenedores.
  • Rendimiento mejorado: Asegura una distribución óptima del tráfico de red.
  • Flexibilidad: Amplias opciones de configuración e integración perfecta en diversas plataformas.

Docker compose

services:
  traefik:
    image: "traefik:v3.5"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entryPoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    image: "traefik/whoami"
    container_name: "simple-service"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
      - "traefik.http.routers.whoami.entrypoints=web"

Sustituye whoami.localhost por tu dominio con la etiqueta traefik.http.routers.whoami.rule.

Related posts

Search not available in development
Theme
Dark
Light