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

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

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

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

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

Схемы ниже показывают архитектуру взаимодействия компонентов в двух сценариях: с доступом в интернет и без доступа в интернет.

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

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

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

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

  3. Внутренний кластер Kubernetes использует эти артефакты:

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

Подробнее о загрузке артефактов установки см. в разделе Подготовка к установке.