API карт | On-Premise | 2GIS Documentation
On-Premise

Обновление API для работы с картами

  1. Получите новые артефакты для установки.

    Чтобы загрузить артефакты только для сервиса MapGL JS API, добавьте параметр --services=mapgl-js-api после команды pull. Без этого параметра по умолчанию будут загружены артефакты для всех сервисов.

    См. справку по командам и аргументам 2GIS CLI.

  2. Ознакомьтесь сo списком критических изменений. Если необходимо, обновите настройки в конфигурационном файле values-mapgl.yaml. Подробнее см. в руководстве по установке.

  3. Выполните команду для обновления сервиса:

    helm upgrade --version=1.28.2 --atomic --values ./values-mapgl.yaml mapgl-js-api 2gis-on-premise/mapgl-js-api
    
  4. Проверьте работоспособность сервиса.

Вы можете обновить сервис Tiles API как вместе с его данными (самими тайлами), так и без их обновления.

  1. Получите новые артефакты для установки.

    • Чтобы обновить только образ сервиса, добавьте флаг --only-apps после команды pull.
    • Чтобы обновить только данные, добавьте флаг --only-data после команды pull.
    • Чтобы обновить и сервис, и данные, выполните команду без добавления флагов выше.

    См. справку по командам и аргументам 2GIS CLI.

  2. Скопируйте путь к новому файлу манифеста из консольного вывода команды и подставьте его в параметр dgctlStorage.manifest в конфигурационном файле values-tiles.yaml. Подробнее см. в руководстве по установке.

    Важно

    Вы можете настроить процесс импорта новых данных для Tiles API. За это отвечают настройки группы importer конфигурационного файла. Если при очередном обновлении сервиса Tiles API вы не хотите импортировать новые данные, используйте тот же манифест, что и в предыдущем импорте. В остальных случаях рекомендуется использовать новый манифест.

  3. Ознакомьтесь сo списком критических изменений. Если необходимо, обновите другие настройки в конфигурационном файле values-tiles.yaml.

  4. Выполните команду для обновления сервиса.

    • Чтобы обновить только сервис:

      helm upgrade --version=1.28.2 --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api --set importer.enabled=false
      
    • Чтобы обновить только данные, подставьте текущую установленную версию комплекса On-Premise в параметр --version:

      helm upgrade --version=VERSION --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
      
    • Чтобы обновить сервис и данные:

      helm upgrade --version=1.28.2 --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
      
  5. Проверьте работоспособность сервиса.

  1. Получите новые артефакты для установки.

    • Чтобы обновить только образ сервиса, добавьте флаг --only-apps после команды pull.
    • Чтобы обновить только данные, добавьте флаг --only-data после команды pull.
    • Чтобы обновить и сервис, и данные, выполните команду без добавления флагов выше.

    Чтобы загрузить артефакты только для сервиса Floors API, добавьте параметр --services=floors-api после команды pull. Без этого параметра по умолчанию будут загружены артефакты для всех сервисов.

    См. справку по командам и аргументам 2GIS CLI.

  2. Скопируйте путь к новому файлу манифеста из консольного вывода команды и подставьте его в параметр dgctlStorage.manifest в конфигурационном файле values-floors-api.yaml. Подробнее см. в руководстве по установке.

    Важно

    Вы можете настроить процесс импорта новых данных для Floors API. За это отвечают настройки группы import конфигурационного файла. Если при очередном обновлении сервиса Floors API вы не хотите импортировать новые данные, используйте тот же манифест, что и в предыдущем импорте. В остальных случаях рекомендуется использовать новый манифест.

  3. Ознакомьтесь сo списком критических изменений. Если необходимо, обновите другие настройки в конфигурационном файле values-floors-api.yaml.

  4. Выполните команду для обновления сервиса.

    • Чтобы обновить только сервис или сервис и данные:

      helm upgrade --version=1.28.2 --atomic --values ./values-floors-api.yaml floors-api 2gis-on-premise/floors-api
      
    • Чтобы обновить только данные, подставьте текущую установленную версию комплекса On-Premise в параметр --version:

      helm upgrade --version=VERSION --atomic --values ./values-floors-api.yaml floors-api 2gis-on-premise/floors-api
      
  5. Проверьте работоспособность сервиса.

Для хранения данных о тайлах сервис использует пространства ключей (keyspace) в Cassandra.

Если настройки безопасности позволяют автоматическое создание пространств ключей, то при обновлении сервиса будет создано новое пространство, а затем сервис переключится на него.

После переключения все данные в прежнем пространстве ключей становятся ненужными. Часть предыдущих пространств можно хранить в качестве резерва, а остальные удалять для экономии места на диске.

Чтобы автоматически удалять старые данные:

  1. В настройке importer.cleaner.enabled укажите значение true.

  2. В настройке importer.cleaner.limit укажите количество предыдущих пространств ключей, которые нужно хранить. Например, 1 означает, что будет оставлено всего одно предыдущее пространство, а все более старые будут удалены. При этом на диске нужно будет зарезервировать как минимум троекратный запас свободного места под пространства ключей (временное, текущее и N предыдущих).

  3. По умолчанию удалённые данные всё ещё будут занимать дисковое пространство в виде снимков (snapshots) в Cassandra. Удалить устаревшие снимки можно вручную с помощью nodetool clearsnapshot, или можно настроить автоматическое удаление через JMX:

    1. Убедитесь, что в вашей конфигурации Cassandra включён удалённый доступ по JMX.
    2. Задайте настройки cassandra.credentials.jmxUser и cassandra.credentials.jmxPassword.
    3. В настройке importer.clearSnapshots укажите значение true.

Вы можете применить к картам новый стиль или обновить созданный ранее.

  1. Откройте редактор стилей и создайте новый стиль или отредактируйте существующий.

    См. инструкции по созданию и настройке стилей в документации редактора.

  2. Выгрузите готовый стиль:

    1. В верхнем меню редактора стилей выберите Поделиться, а затем нажмите Экспорт стиля.

    2. Выберите необходимый стиль из списка и нажмите Экспортировать.

      В новой панели начнётся подготовка архива для скачивания.

    3. Когда стиль будет в статусе Готово, снова выберите его из списка и нажмите Скачать стиль.

    4. Сохраните созданный архив в формате .tar.gz локально.

  3. Загрузите стиль в ваш контур On-Premise:

    1. Откройте Platform Manager в браузере.

    2. Перейдите во вкладку Стили карты и нажмите Загрузить стиль.

    3. Добавьте скачанный архив в формате .tar.gz и дождитесь его успешной загрузки.

      Если вы загружаете обновлённую версию старого стиля, ID остаётся прежним. Platform Manager распознает обновление как новую версию существующего стиля. В дальнейшем вы сможете переключаться между версиями одного стиля.

  4. Если вы загружали новый стиль, скопируйте сгенерированный ID стиля и примените его к карте с помощью MapGL JS API.

    Если вы загружали обновлённую версию старого стиля, дополнительные шаги не требуются.

Важно

Прежде чем удалять стиль, убедитесь, что он не применён ни к одной из действующих карт. В противном случае после удаления стиля карта может отображаться некорректно.

Чтобы удалить стиль карты:

  1. Откройте Platform Manager в браузере.
  2. Перейдите во вкладку Стили карты и нажмите иконку корзины рядом с нужным стилем.