Установка Менеджера Платформы
1. Перед установкой
-
Ознакомьтесь с основной информацией:
-
Выполните предварительные шаги:
-
Соберите необходимые данные, заданные или полученные на предыдущих шагах:
Объект Пример значения Как получить значение Endpoint зеркала реестра Docker docker.storage.example.local:5000См. Получение артефактов установки Endpoint MapGL JS API http://mapgl-js-apiСм. Установка API для работы с картами Endpoint Catalog APIs http://catalog-apiСм. Установка API для работы с поиском Endpoint API навигации http://navi-frontСм. Установка API для работы с навигацией API-ключи MAPGL_KEY
CATALOG_KEY
NAVI_KEYСм. Установка сервиса API-ключей -
Убедитесь, что удовлетворены требования к ресурсам, приведенные в Helm-чартe.
Подробнее о том, как это сделать, см. в документе Системные требования.
Примечание
Содержание Helm-чарта, описанное в данном разделе, актуально для последней версии API-платформы (см. Релизы API-платформы). Чтобы изучить параметры для более ранних версий, откройте values.yaml в GitHub и в списке тегов слева выберите тег
Platform-<версия>. -
Определите доменное имя для сервиса Менеджер Платформы. Например,
platform.example.com.
2. Установите Менеджер Платформы
-
Создайте конфигурационный файл для Helm. Подробное описание доступных параметров см. здесь.
Пример файла уже заполнен всеми необходимыми данными, собранными на предыдущих этапах.
values-platform.yamldgctlDockerRegistry: ''
imagePullSecrets: []
ui:
brand: ''
defaultLocale: en
pages: ''
playgrounds: ''
status:
mapgl: "MapGL JS=http://mapgl-js-api,Tiles API=http://tiles-api/healthcheck"
search: "Catalog API=http://catalog-api,Search API=http://search-api/v2/status"
navi: "Castle=http://navi-castle/cities.conf,Back=http://navi-back-directions-car/about,Routing=http://navi-front/healthcheck"
pro: "PRO UI=http://pro-ui:3000/api/healthcheck/app,PRO API=http://pro-api/health/live,PRO Permissions API=http://pro-api-permissions"
gisPlatform: "http://gis-platform-portal"
keys: "Keys UI=http://keys-admin,Keys API=http://keys-api/healthcheck"
mapStyles: "http://styles-api/healthcheck"
platform:
api:
url: 'https://keys-api.example.com'
mapgl:
url: 'https://mapgl-js-api.example.com'
scriptPath: /api.js
key: 'MAPGL_KEY'
initCenter: ''
catalog:
url: 'https://catalog.example.com'
key: 'CATALOG_KEY'
navi:
url: 'https://navi.example.com'
key: 'NAVI_KEY'
resources:
requests:
cpu: 300m
memory: 384M
limits:
cpu: 1100m
memory: 512M
ingress:
enabled: true
className: nginx
hosts:
- host: platform.example.com
paths:
- path: /
pathType: Prefix
tls: []
#- hosts:
# - platform.example.com
# secretName: secret.tlsГде:
-
dgctlDockerRegistry: endpoint вашего реестра Docker, в котором находятся образы сервисов программного комплекса 2ГИС в форматеHOST:PORT. -
imagePullSecrets: Kubernetes Secrets для доступа к реестру Docker, в котором находятся образы сервисов программного комплекса 2ГИС. -
ui: базовые настройки приложения.-
brand: брендирование внутри приложения. Возможные значения:2gis,urbi. -
defaultLocale: язык приложения по умолчанию. Возможные значения:en. -
pages: список доступных страниц в приложении. Возможные значения:profile,signup,status,playground,map_styles. Значения записываются одной строкой через запятую, например,'status, playground'. Первое значение в списке — страница по умолчанию. -
playgrounds: список доступных песочниц в приложении. Возможные значения:mapgl(дополнительно нужно указать параметрui.mapgl.url),geocoder(дополнительно нужно указать параметрui.catalog.url),directions(дополнительно нужно указать параметрui.navi.url). Значения записываются одной строкой через запятую, например,'mapgl, geocoder'. -
status: перечень статусов для сервисов On-Premise.Значение — строка, содержащая пары из названия сервиса и URL до его healthcheck. Пары записываются через запятую. Значения внутри пары соединяются символом "
=". Например,mapgl: 'MapGL JS=https://example.com/healthcheck'. URL должен быть абсолютным. Можно указать только URL, например,mapgl: 'https://example.com/healthcheck'.mapgl: статус сервиса MapGL JS API.search: статус сервисов Поиска.navi: статус сервисов Навигации.pro: статус сервисов 2ГИС Про.gisPlatform: статус сервиса GIS-платформа.keys: статус Сервиса ключей.mapStyles: статус Styles API.
-
platform: настройки доступа к сервису API-ключей:api.url: хост сервиса в форматеHTTP(S)://HOST.
-
mapgl: настройки доступа к сервису MapGL JS API:url: хост сервиса в форматеHTTP(S)://HOST.scriptPath: путь до скрипта инициализации сервиса. Путь строится относительноui.mapgl.url. Возможные значения:/api.js.key: API-ключ для сервиса.initCenter: координаты карты по умолчанию. Состоят из двух чисел в массиве:[lng, lat]. Например:[55.27, 25.2]для Дубая,[37.64, 55.74]для Москвы.
-
catalog: настройки доступа к сервису Catalog APIs:url: хост сервиса в форматеHTTP(S)://HOST.key: API-ключ для сервиса.
-
navi: настройки доступа к сервису API навигации:url: хост сервиса в форматеHTTP(S)://HOST.key: API-ключ для сервиса.
-
resources: настройки вычислительных ресурсов для сервиса. Чтобы узнать рекомендуемые значения ресурсов, см. Вычислительные ресурсы. -
ingress: конфигурация ресурса Ingress. Адаптируйте приведенную конфигурацию для соответствия используемому вами Ingress. URL, указанный в параметреingress.hosts.host, должен быть доступен извне вашего кластера Kubernetes, чтобы пользователи из приватного сегмента сети могли получить доступ к ресурсам по этому URL.
-
-
-
Установите сервис с помощью Helm, используя подготовленный конфигурационный файл
values-platform.yaml:helm upgrade --install --version=VERSION --atomic --values ./values-platform.yaml platform 2gis-on-premise/platformВ параметре
--versionукажите нужную версию API-платформы. Список версий см. в разделе Релизы API-платформы.
3. Проверьте работоспособность установленного сервиса
Перейдите по адресу https://platform.example.com в браузере. Вы должны успешно войти в веб-интерфейс.
В Менеджере Платформы вы можете проверить статус работы установленных сервисов, загрузить пользовательские стили и протестировать работу ключевых API: подробнее см. в инструкции Работа с Менеджером Платформы.
4. Настройте аутентификацию пользователей
Чтобы работать с Менеджером Платформы, конечные пользователи должны проходить аутентификацию. Программный комплекс 2ГИС не предоставляет готовый сервис аутентификации для установки в закрытом контуре, поэтому вам используйте собственного поставщика OpenID Connect (OIDC) для авторизации пользователей по технологии единого входа (SSO).
Аутентифицироваться и авторизоваться в Менеджере Платформы могут пользователи, зарегистрированные в базе внешнего поставщика OIDC. Управление пользователями также осуществляется на стороне этого поставщика.
Настройте поставщика OIDC, выполнив следующие условия:
-
Определите обязательные утверждения (claims) о данных пользователя. Следующие данные гарантированно должны быть заполнены в ответе
user-info:sub— идентификатор пользователя.email— email пользователя.email_verified— флаг, указывающий на то, был ли email подтверждён пользователем.name— полное имя пользователя.phone_number— номер телефона пользователя.
-
Настройте области видимости (scopes), по которым можно получать заданные утверждения (claims). Стандартно используются следующие scopes:
openid— обязательный параметр, указывающий на использование OpenID Connect для аутентификации пользователя.email— email пользователя.profile— ссылка на профиль пользователя.phone— номер телефона пользователя.
-
Создайте клиента в вашем поставщике OIDC:
-
Настройте идентификатор (
client_id) и cекрет (client_secret) клиента. -
Укажите Callback URL и Logout URL для сервиса:
- Callback URL:
https://{application_host}/api/auth/code; - Logout URL:
https://{application_host}/api/auth/post_sign_out.
- Callback URL:
-
Настройте работу клиента с заданными на предыдущем шаге scopes.
-
Что дальше?
-
Узнайте, как обновить сервис Менеджер Платформы.
-
Установите другие продукты программного комплекса 2ГИС:
-
Изучите рекомендации по обслуживанию системы.