Назад | Перейти на главную страницу

интегрировать посланника с консулом для обнаружения услуг

Изменить - возможно ли вообще этого достичь, или я должен искать что-то еще?

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

Мой докер-сочинять файл выглядит так.

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 и запрос к доверенному лицу посланника приходит как http://localhost:10000/user


посланник / envoy.yaml

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 0.0.0.0, port_value: 9901 }

Нам нужно было выбрать альтернативу Nginx (с шаблоном consul), и в нашем списке также был посланник, но мы решили использовать вместо него Traefik.io.

Мы по-прежнему используем consul-template для рендеринга конфигурации, но причины этого кроются в нашей специальной настройке сервиса.

Мы не хотели вводить новый слой абстракции только для Envoy -> traefik, это