Перейти к основному содержимому

Архитектура решения

Программный комплекс 2ГИС состоит из нескольких компонентов, связанных между собой. Для корректной работы компонентов необходима заранее подготовленная инфраструктура.

Архитектура программного комплекса 2ГИС

Как работает комплекс

  1. 2GIS CLI загружает артефакты установки с публичных серверов обновлений 2ГИС:

    • наборы данных, необходимых для установки или обновления сервисов;
    • Docker-образы сервисов.
  2. 2GIS CLI помещает наборы данных в S3-совместимое хранилище (на схеме — File/Object Storage), а Docker-образы — в реестр Docker (на схеме — Docker Registry). Оба хранилища расположены в публичной сети.

  3. Далее происходит миграция артефактов установки из публичной сети в приватную, т.е. синхронизация содержимого хранилищ данных с их зеркалами.

    Для обеспечения автоматической синхронизации необходимо настроить файервол.

  4. После миграции артефактов:

    • Docker-образы доставляются напрямую в соответствующие им сервисы, расположенные в кластере Kubernetes.
    • Helm-чарты используют загруженные наборы данных для установки/обновления сервисов.
  5. Сервис или его новая версия становится доступным конечным пользователям.

Сетевая инфраструктура

Программный комплекс 2ГИС спроектирован так, что подавляющая часть сервисов и инфраструктуры может быть установлена в изолированной локальной сети с ограниченным или отсутствующим доступом к интернету.

Доступ к интернету используют только два компонента:

  • Утилита 2GIS CLI в режимах license и pull.
  • Прокси для API пробок. Размещается в приватной сети, но для работы необходимо настроить файервол или балансировщик нагрузки так, чтобы сервис имел доступ в интернет.