Несколько маршрутизаторов и сервисов в одном контейнере с traefik 2 - PullRequest
1 голос
/ 22 января 2020

В настоящее время я пытаюсь заставить traefik использовать несколько маршрутизаторов и служб в одном контейнере, который не работает, и я не знаю, предназначен ли он вообще.

Почему ?

В частности, я использую контейнер gitlab omnibus и хотел использовать / получить доступ к нескольким службам внутри контейнера omnibus, поскольку gitlab предоставляет не только «сайт gitlab».

Что я попробовал?

Я просто попытался добавить другой маршрутизатор в мой docker файл для создания с помощью меток

Вот что у меня есть:

labels:
  - "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
  - "traefik.http.services.gitlab.loadbalancer.server.port=80"

Это то, что я хочу:

labels:
  - "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
  - "traefik.http.services.gitlab.loadbalancer.server.port=80"
  - "traefik.http.routers.registry.rule=Host(`registry.gitlab.example.com`)"
  - "traefik.http.services.registry.loadbalancer.server.port=5000"

Это не работает, так как traefik, вероятно, путают с тем, что маршрутизировать к какой службе, и я не смог найти механизм, который точно сообщает traefik, какой маршрутизатор направляется к какой службе в подобном случае.

Возможно ли это, или я просто пропускаю немного traefik magi c

1 Ответ

3 голосов
/ 22 января 2020

Я нашел решение моего вопроса.

Я действительно немного пропустил:

  • traefik.http.routers.myRouter.service = myService

С помощью этой метки я могу указать маршрутизатору указанную c услугу и иметь возможность добавлять несколько служб в один контейнер:

labels:
  - "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
  - "traefik.http.routers.gitlab.service=gitlab"
  - "traefik.http.services.gitlab.loadbalancer.server.port=80"
  - "traefik.http.routers.registry.rule=Host(`registry.gitlab.example.com`)"
  - "traefik.http.routers.registry.service=registry"
  - "traefik.http.services.registry.loadbalancer.server.port=5000"

Здесь каждый маршрутизатор указывает на указанную c сервис явно, что обычно происходит неявно.

...