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

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

Обновление сервиса MapGL JS API

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

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

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

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

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

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

Обновление сервиса Tiles API

Вы можете обновить сервис 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.32.0 --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.32.0 --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
  5. Проверьте работоспособность сервиса.

Обновление сервиса Tilegen API

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

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

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

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

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

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

Обновление сервиса Floors API

Удалите сервис Floors API. Начиная с версии 1.37.1, данные этажных планов поставляются в составе векторных тайлов, отдельный сервис устанавливать не нужно.

Автоматическое удаление старых данных

Для хранения данных о тайлах сервис использует пространства ключей (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.