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

Helm-чарты, которые используются для установки сервисов, устанавливают только сами сервисы. Чтобы сервисы могли работать, им необходима заранее подготовленная инфраструктура.
К инфраструктуре относятся:
-
Кластер Kubernetes с Ingress-контроллером
Большинство сервисов следует поместить за балансировщик нагрузки. При установке из Helm-чартов создаётся ресурс Ingress для сервисов, которые этого требуют. Вы можете использовать Ingress-контроллер на ваш выбор для реализации балансировщика нагрузки Ingress в вашем кластере Kubernetes.
-
Инфраструктура установки и обновления сервисов
Для установки и обновления сервисов используются:
- Приложение 2GIS CLI для получения лицензии и актуальных артефактов установки: Docker-образов и наборов данных.
- Хранилище артефактов установки. Подойдет любое S3-совместимое хранилище. Поддержка других типов хранилища находится в стадии разработки.
- Реестр Docker для хранения Docker-образов.
Артефакты установки включают все необходимые образы и данные для установки сервисов. Поскольку данные для сервисов, как и Docker-образы сервисов, постоянно актуализируются, рекомендуется периодически получать новые версии артефактов установки и затем обновлять уже установленные сервисы.
Подробнее см. в разделе Жизненный цикл артефактов установки.
-
Сетевая инфраструктура
Программный комплекс 2ГИС спроектировано так, что подавляющая часть сервисов и инфраструктуры может быть установлена в изолированной локальной сети с ограниченным или отсутствующим доступом к интернету.
Доступ к интернету используют только два компонента:
-
Утилита 2GIS CLI в режимах
license
иpull
.Эта утилита и инфраструктура, необходимая для ее работы (см. выше), обычно размещаются в публичной сети, из которой есть доступ в интернет.
Необходимо обеспечить миграцию артефактов установки из публичной сети в приватную, чтобы сервисы в приватной сети могли ими воспользоваться.
Подробнее см. в разделе Жизненный цикл артефактов установки.
-
Прокси для API пробок.
Прокси для API пробок размещается в приватной сети.
Для работы сервиса дополнительно необходимо настроить инфраструктуру в приватной сети (например, файервол или балансировщик нагрузки) так, чтобы прокси для API пробок имел доступ в интернет.
-
-
Хранилища данных для сервисов
Разные сервисы используют различные комбинации хранилищ данных. Под хранилищем понимается какой-либо кластер баз данных или S3-совместимое хранилище.
При установке или обновлении сервиса данные, необходимые для его работы, перемещаются из хранилища артефактов установки в хранилище сервиса.
В документации каждого сервиса указано, какие хранилища данных ему необходимы.
Требования к самим хранилищам указаны в разделе Системные требования.