Изменить - возможно ли вообще этого достичь, или мне нужно заняться чем-то еще?
Как мне интегрировать envoy с consul для автоматического обнаружения и маршрутизации сервисов? У меня контейнеры работают в докере, и каждый контейнер регистрируется у консула во время выполнения.
Мой файл docker-compose выглядит так.
version: '3'
services:
consul:
image: consul:1.6
container_name: consul
ports:
- 8300:8300
- 8400:8400
- 8500:8500
envoy:
container_name: envoy
build:
context: ./envoy
dockerfile: Dockerfile
ports:
- 10000:10000
user:
container_name: user
build:
context: ./user
dockerfile: Dockerfile
Допустим, пользователь зарегистрирован в консуле с помощью Идентификатор foo
работает на порту 80
, а запрос к прокси-серверу envoy поступает как http: // localhost: 10000 / user
envoy / envoy.yaml
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address: { address: 0.0.0.0, port_value: 9901 }
Мы должны были решить альтернативу Nginx (с шаблоном консула) и также имели агента в нашем списке, но решили использовать Traefik.io вместо этого.
Мы все еще используем шаблон консула для рендеринга конфигурации, но причины этого находятся в нашей установке спецслужбы.
Мы не хотели представлять новый уровень абстракции только для Агента-> traefik это