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

Установка Менеджера Платформы

1. Перед установкой

  1. Ознакомьтесь с основной информацией:

  2. Выполните предварительные шаги:

    1. Подготовка к установке
    2. Получение артефактов установки
    3. Установка сервиса API-ключей
    4. Установка API для работы с картами
    5. Установка API для работы с поиском
    6. Установка API для работы с навигацией
  3. Соберите необходимые данные, заданные или полученные на предыдущих шагах:

    ОбъектПример значенияКак получить значение
    Endpoint зеркала реестра Dockerdocker.storage.example.local:5000См. Получение артефактов установки
    Endpoint MapGL JS APIhttp://mapgl-js-apiСм. Установка API для работы с картами
    Endpoint Catalog APIshttp://catalog-apiСм. Установка API для работы с поиском
    Endpoint API навигацииhttp://navi-frontСм. Установка API для работы с навигацией
    API-ключиMAPGL_KEY
    CATALOG_KEY
    NAVI_KEY
    См. Установка сервиса API-ключей
  4. Убедитесь, что удовлетворены требования к ресурсам, приведенные в Helm-чартe.

    Подробнее о том, как это сделать, смотрите в документе Системные требования.

    Примечание

    Содержание Helm-чарта, описанное в данном разделе, актуально для последней версии On-Premise (см. Релизы). Чтобы изучить параметры для более ранних версий, откройте values.yaml в GitHub и введите номер нужной версии комплекса (например, 1.18.0) в переключателе тегов слева.

  5. Определите доменное имя для сервиса Менеджер Платформы. Например, platform.example.com.

2. Установите Менеджер Платформы

  1. Создайте конфигурационный файл для Helm. Подробное описание доступных параметров см. здесь.

    Пример файла уже заполнен всеми необходимыми данными, собранными на предыдущих этапах.

    values-platform.yaml
    dgctlDockerRegistry: ''

    imagePullSecrets: []

    ui:
    brand: ''
    defaultLocale: en
    pages: ''
    playgrounds: ''

    status:
    mapgl: ''
    search: ''
    navi: ''
    pro: ''
    gisPlatform: ''
    keys: ''
    mapStyles: ''

    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, в котором находятся образы сервисов On-Premise. Пример: 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'.

      • 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.

  2. Разверните сервис с помощью Helm, используя подготовленный конфигурационный файл values-platform.yaml:

    helm upgrade --install --version=1.32.0 --atomic --values ./values-platform.yaml platform 2gis-on-premise/platform

3. Проверьте работоспособность установленного сервиса

Перейдите по адресу https://platform.example.com в браузере. Вы должны успешно войти в веб-интерфейс.

В Менеджере Платформы вы можете проверить статус работы установленных сервисов, загрузить пользовательские стили и протестировать работу ключевых API: подробнее см. в инструкции Работа с Менеджером Платформы.

Что дальше?