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

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

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

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

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

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

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

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

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

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

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

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

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

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

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