hostprofi.ru
Подобрать хостинг
Термин·буква T

Traefik

краткое определение

Traefik — современный обратный прокси и балансировщик нагрузки с автоматическим обнаружением сервисов из Docker, Kubernetes и других оркестраторов. Автоматически выпускает Let's Encrypt сертификаты.

Traefik — edge router (граничный маршрутизатор) и reverse proxy, разработанный специально для динамических контейнерных сред. Ключевое отличие от Nginx: Traefik читает метки (labels) Docker-контейнеров, Kubernetes-аннотации и Consul-сервисы, автоматически строит конфигурацию маршрутизации без перезапуска и ручного редактирования файлов.

Принцип работы

Traefik подключается к провайдерам — источникам конфигурации: Docker API, Kubernetes API, Consul, etcd, файлы YAML/TOML. При запуске нового контейнера с нужными метками Traefik мгновенно добавляет маршрут без reload. Пример Docker Compose:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.app.rule=Host(`app.example.com`)"
  - "traefik.http.services.app.loadbalancer.server.port=8080"

Traefik создаёт роутер для app.example.com, балансирует трафик на порт 8080 и автоматически выпускает SSL-сертификат через Let's Encrypt ACME. Сертификат обновляется без перезапуска Traefik.

Компоненты архитектуры Traefik v2/v3

  • Entrypoints — точки входа: порт 80 (HTTP), 443 (HTTPS), 8080 (Dashboard API)
  • Routers — правила маршрутизации по Host, Path, Header, Method, Query
  • Middlewares — преобразования запросов: redirectScheme (HTTP→HTTPS), basicAuth, rateLimit, stripPrefix, compress, headers
  • Services — backend-сервисы с балансировкой нагрузки: round-robin, weighted, sticky sessions
  • Providers — источники конфигурации: Docker, Kubernetes CRD, Kubernetes Ingress, Consul, файлы

История

Traefik разработан Эмилем Вогом (Emile Vauge) в 2015 году, публично представлен как Open Source в 2016 году. Компания Containous (основана в 2016 году) развивала Traefik как Enterprise-продукт, в 2021 году переименована в Traefik Labs. Traefik v1.0 (2016) — первая стабильная версия. Traefik v2 (2019) переработал архитектуру: появились Middleware-слои, TCP/UDP-роутеры, поддержка gRPC и WebSocket. Traefik v3 (май 2024) добавил нативный Kubernetes Gateway API, OpenTelemetry и WASM Middleware. GitHub-репозиторий набрал более 48 000 звёзд к 2024 году.

Traefik vs Nginx vs Caddy

ПараметрTraefik v3NginxCaddy v2
Auto-discovery контейнеровDocker, K8s, ConsulНет (нужен nginx-proxy)Нет
Let's Encrypt ACMEВстроенно, автоматическиCertbot отдельноВстроенно
Dashboard UIДа (порт 8080)НетНет
Производительность (RPS)ВысокаяМаксимальнаяВысокая
Kubernetes IngressНативноIngress NGINX ControllerНет
Обновление конфигаZero-downtime, без reloadnginx -s reloadАвтоматически

На что обращать внимание

Dashboard Traefik на порту 8080 открыт без аутентификации по умолчанию — в продакшне обязательно закройте паролем или ограничьте по IP через Middleware basicAuth. При использовании в Docker Compose: Traefik должен быть в той же Docker-сети, что и проксируемые контейнеры. При Kubernetes Traefik устанавливается через Helm-чарт и конкурирует с Nginx Ingress Controller — выбор зависит от команды. Для статических сайтов без контейнеров Nginx по-прежнему проще в настройке. Traefik хранит Let's Encrypt-сертификаты в JSON-файле (acme.json) — его нужно сохранять при пересоздании контейнера через Docker Volume.

Другие термины