Repolode
jittering

jittering/traefik-kop

Агент обнаружения читает метки Docker-контейнеров на удалённых узлах и публикует их в Redis, чтобы один экземпляр Traefik мог направлять трафик к сервисам на нескольких узлах Docker.

Звёзды
526
Форки
29
Открытые issues
1
Последний коммит
25 дней назад

Что это?

traefik-kop — агент обнаружения для многосерверного кластера Docker без Swarm и Kubernetes, работающего за одним публично доступным экземпляром Traefik. На каждом рабочем узле запускается traefik-kop: он читает метки контейнеров из локального Docker daemon, используя ту же логику, что и Docker provider в Traefik, и публикует полученную конфигурацию маршрутизации в общий экземпляр Redis. Основной узел Traefik настраивается с Redis provider, указывающим на тот же Redis, благодаря чему он получает маршруты к сервисам на всех узлах.

Агент обрабатывает детали, необходимые для маршрутизации между узлами. Он заменяет внутренние IP-адреса контейнеров на доступный bind IP, который можно задать флагом, переменной окружения, сетевым интерфейсом или меткой отдельного сервиса, а порты сервисов определяет по опубликованным портам хоста. Поддерживаются namespaces для выбора подмножеств контейнеров, объединение записей балансировщика нагрузки с разных узлов, истечение срока действия записей по TTL в Redis с периодическим продлением, Redis Sentinel и TLS с опциональной взаимной аутентификацией. События Docker отслеживаются в реальном времени; также доступен настраиваемый резервный опрос.

Ключевые возможности

  • 01Публикует конфигурацию маршрутизации Docker provider в Traefik с каждого узла в общий Redis.
  • 02Выбирает bind IP по метке, флагу, сетевому интерфейсу или автоматически.
  • 03Фильтрует контейнеры с помощью namespaces, в том числе нескольких namespaces, разделённых запятыми.
  • 04Объединяет записи балансировщика нагрузки для сервисов, работающих на нескольких узлах.
  • 05Поддерживает истечение срока действия записей по TTL в Redis, Redis Sentinel и TLS с взаимной аутентификацией.

Сценарии использования

  • Обслуживание нескольких автономных хостов Docker через единую публичную точку входа Traefik без Swarm и Kubernetes.
  • Совместный запуск отдельных экземпляров Traefik и traefik-kop с использованием префиксов меток.
  • Ведение таблицы маршрутизации в Redis с автоматическим удалением устаревших записей при исчезновении узла.

Быстрый старт

  1. 1

    Настройте узел Traefik для использования провайдера Redis (traefik.yml).

  2. 2

    Запустите traefik-kop с помощью docker-compose на каждом из остальных узлов Docker, задав REDIS_ADDR и BIND_IP.

  3. 3

    Добавьте метки traefik и привязку порта целевому сервису.

Что важно знать

  • Требуется работающий экземпляр Redis, доступный и Traefik, и traefik-kop.
  • Подключение к Docker выполняется только через unix-сокет; подключения к Docker по SSH и HTTP(S) не поддерживаются.
  • Объединение балансировщиков нагрузки по умолчанию отключено; при смене IP узла в конфигурации могут остаться устаревшие IP-адреса.

В подборках

Темы

Частые вопросы

Что такое traefik-kop?
Агент обнаружения читает метки Docker-контейнеров на удалённых узлах и публикует их в Redis, чтобы один экземпляр Traefik мог направлять трафик к сервисам на нескольких узлах Docker. traefik-kop — агент обнаружения для многосерверного кластера Docker без Swarm и Kubernetes, работающего за одним публично доступным экземпляром Traefik. На каждом рабочем узле запускается traefik-kop: он читает метки контейнеров из локального Docker daemon, используя ту же логику, что и Docker provider в Traefik, и публикует полученную конфигурацию маршрутизации в общий экземпляр Redis. Основной узел Traefik настраивается с Redis provider, указывающим на тот же Redis, благодаря чему он получает маршруты к сервисам на всех узлах.
traefik-kop можно использовать бесплатно? Какая у него лицензия?
traefik-kop распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
traefik-kop всё ещё поддерживается?
Активно поддерживается. Последний коммит в traefik-kop — 13 окт. 2026 г..
Для чего можно использовать traefik-kop?
Обслуживание нескольких автономных хостов Docker через единую публичную точку входа Traefik без Swarm и Kubernetes. Совместный запуск отдельных экземпляров Traefik и traefik-kop с использованием префиксов меток. Ведение таблицы маршрутизации в Redis с автоматическим удалением устаревших записей при исчезновении узла.
Как установить traefik-kop?
Настройте узел Traefik для использования провайдера Redis (traefik.yml). Запустите traefik-kop с помощью docker-compose на каждом из остальных узлов Docker, задав REDIS_ADDR и BIND_IP. Добавьте метки traefik и привязку порта целевому сервису.
Где скачать traefik-kop?
Исходный код и инструкции по установке — на GitHub: https://github.com/jittering/traefik-kop

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты