Моя хоумлаба (готовый compose)

В yaml конфиг самого трафика где указано использовать докер и его метки + базовые вещи типа портов, которые требуется слушать, обработчик ssl сертификатов.

Сюда же можно, но не нужно добавлять конфиги сервисов без автодискавери, лучше вынести в отдельный файл

Ну и после запуска трафик начинает сканировать метки сервисов и вытягивать из них конфигурацию, в этом случае сам трафик сконфигурировали 1 раз, а потом добавляем докер сервисы через compose файл и он сам подхватывает нужную конфигурацию

Я верхнеуровнево описывал свою конфигурацию тут, но суть сводится к тому, что я отказался от автодискавери и прописываю все конфиги трафика в 2 git репозиториях.

  1. Описание compose сервиса и основные конфиги - он деплоится на ноды при помощи komodo и требует остановки трафика
  2. Конфиги сервисов -при помощи CI/CD загружается в consul, а из него вытягивается traefik без остановки сервисов

Но можно упростить схему, что я и сделал в 1 версии

В моем случае 2,3 файла на сервис т.к. имена файлов имеют определенные названия, и участвуют в формировании итогового конфига, но можно делать на свое усмотрение

Напомню основные блоки конфигурации трафика.

  • listener - это единожды приписываемая сущность типа listen:port в nging
  • service - это то, куда приземлять трафик, например адрес конкретного сервиса
  • middleware - модификатор запроса или ответа, например, фильтр по IP, аутентификация, добавление заголовков
  • router - связывает домен и/или путь на конкретном листенере с добавлением конкретных мидлварок и с обработкой конкретным сервисом
1 лайк