Архитектура решения
Программный комплекс 2ГИС состоит из связанных между собой компонентов, для работы которых требуется подготовленная инфраструктура. Он спроектирован так, что подавляющая часть сервисов и инфраструктуры может быть установлена в изолированной локальной сети с ограниченным или отсутствующим доступом в интернет. Подробнее о загрузке артефактов установки см. в разделе Подготовка к установке.
Компоненты используют доступ в интернет для обращения к следующим внешним сервисам (на схемах ниже — Public Update Servers и Traffic Update Servers):
| Endpoint | Назначение |
|---|---|
https://jam.api.2gis.com | Получение данных о пробках в режиме онлайн для отображения на картах. |
https://traffic-jams.2gis.com/ | Получение данных о пробках в режиме онлайн для расчёта навигационных маршрутов. |
https://datagateway.api.2gis.com | Получение файлов лицензии, артефактов установки и данных. |
https://origin-disk.2gis.com | Скачивание артефактов установки и данных. |
oci://ghcr.io/2gis/chartsили https://2gis.github.io/on-premise-helm-charts | Установка и обновление компонентов. |
Схемы ниже показывают архитектуру взаимодействия компонентов в двух сценариях: с доступом в интернет и без доступа в интернет.
- С доступом в интернет
- Без доступа в интернет
Как работает комплекс:
-
2GIS CLI загружает артефакты установки с публичных серверов обновлений 2ГИС:
- наборы данных, необходимые для установки или обновления сервисов;
- Docker-образы сервисов.
-
2GIS CLI помещает наборы данных в S3-совместимое хранилище (на схеме — Object Storage), а Docker-образы — в реестр Docker (на схеме — Image Storage), расположенные в приватной сети.
-
Внутренний кластер Kubernetes использует эти артефакты:
- Docker-образы доставляются напрямую в соответствующие им сервисы, расположенные в кластере Kubernetes;
- Helm-чарты используют загруженные наборы данных для установки и обновления сервисов.
-
Сервис (или его новая версия) становится доступным конечным пользователям.
Как работает комплекс:
-
2GIS CLI загружает артефакты установки с публичных серверов обновлений 2ГИС:
- наборы данных, необходимые для установки или обновления сервисов;
- Docker-образы сервисов.
-
Артефакты сохраняются в файловую систему (флеш-накопитель, внешний диск или другой носитель) (на схеме — File System) и переносятся в приватную сеть без доступа в интернет.
-
В приватной сети 2GIS CLI выгружает наборы данных из файловой системы в S3-совместимое хранилище (на схеме — Object Storage), а Docker-образы — в реестр Docker (на схеме — Image Storage).
-
Внутренний кластер Kubernetes использует эти артефакты:
- Docker-образы доставляются напрямую в соответствующие им сервисы, расположенные в кластере Kubernetes;
- Helm-чарты используют загруженные наборы данных для установки и обновления сервисов.
-
Сервис (или его новая версия) становится доступным конечным пользователям.