Продвинутые способы получения лицензии
В данном разделе описаны шаги получения лицензии в частных случаях, когда обычный способ получения недоступен.
При обновлении сертификата сервера Kubernetes API
Лицензия On-Premise привязана к сертификату сервера Kubernetes API, поэтому после обновления этого сертификата вам необходимо получить новую лицензию On-Premise.
Примечание
Чтобы избежать простоя сервиса, вы можете заранее получить новую лицензию для нового сертификата сервера Kubernetes API. В этом случае сервис лицензий автоматически распознает новую лицензию, когда сертификат обновится.
Если сервис не в состоянии простоя
- Получите новый сертификат сервера Kubernetes API у администраторов вашей инфраструктуры.
- Откройте директорию license-dir в S3-хранилище.
- Откройте поддиректорию со старшим номером.
- Замените файл
k8s-ca.crt
на новый файл сертификата, сохранив имя файла. - Получите новую лицензию.
Если сервис уже в состоянии простоя
-
Откройте директорию license-dir в S3-хранилище.
-
Откройте поддиректорию со старшим номером.
-
Если директория содержит файл
license.txt
:-
Обратитесь в службу поддержки On-Premise с описанием проблемы, чтобы частично аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия частично аннулирована.
Важно
Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.
-
Удалите файл
license.txt
и переходите к следующему шагу.
Если файл
license.txt
отсутствует, переходите к следующему шагу. -
-
Для версий 1.29.0 и выше:
- Удалите старый файл сертификата
k8s-ca.crt
. - Перезапустите все поды сервиса лицензий.
- Получите новую лицензию.
- Перезапустите все поды сервиса лицензий.
- Удалите старый файл сертификата
-
Для версий ниже 1.29.0:
-
Получите новый сертификат сервера Kubernetes API.
Для получения сертификата обратитесь к администраторам вашей инфраструктуры или найдите под, в спецификации которого есть параметр
automountServiceAccountToken: true
(например, это любой под API карт, если этот сервис установлен в окружении On-Premise) и выполните следующую команду:cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
-
Откройте директорию license-dir в S3-хранилище.
-
Откройте поддиректорию со старшим номером.
-
Замените файл
k8s-ca.crt
на новый файл сертификата, сохранив имя файла. -
Перезапустите все поды сервиса лицензий.
-
При утрате данных для хранения состояний сервиса лицензий
Каждая лицензия является специфичной для окружения, где установлен комплекс On-Premise. Если были утеряны данные хранилища для состояний сервиса лицензий (см. настройки persistence
в конфигурационном файле для установки сервиса лицензий), вы не сможете использовать текущую лицензию или получить новую обычным способом.
Выполните следующие шаги:
-
Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.
Важно
Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.
-
Удалите сервис лицензий из окружения, где установлен комплекс On-Premise.
-
Внутри S3-хранилища удалите всё содержимое директории license-dir, кроме файла
type
(находится в корне директории).Если файл
type
случайно удалён, вы можете восстановить его командойdgctl pull
с указанием аргумента--only-license
. Если при этом в окружении нет хоста с доступом в интернет, используйте дополнительный хост для копирования файлов. -
Установите сервис лицензий и запросите новую лицензию обычным способом.
При утрате узла с запущенным сервисом лицензий
Только для типа лицензирования 2 (
license.type: 2
в конфигурационном файле для установки сервиса лицензий).
Лицензия типа 2 является специфичной для физических узлов, на которых запущен сервис лицензий. Если один из узлов был потерян, получите новую лицензию следующим способом:
-
Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.
Важно
Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.
-
Внутри S3-хранилища удалите директорию license-dir/1.
-
Добавьте новый физический узел для запуска сервиса лицензий и обновите настройки, чтобы сервис лицензий появился на новом узле.
-
Скопируйте недостающие файлы
csr-N.csr
иcsr-N.signature
из поддиректории license-dir со старшим номером в license-dir/1.N
в номерах файлов — 0 или 1 в зависимости от того, какой узел был утерян. -
Внутри S3-хранилища удалите все директории кроме license-dir/1.
-
Перезапустите все поды сервиса лицензий.
При смене ключа или типа лицензирования
Состояние сервиса лицензий зависит от ключа и типа лицензирования. Если ключ или тип меняются, старое состояние будет мешать дальнейшей работе сервиса. Выполните следующие шаги:
-
Удалите сервис лицензий из окружения, где установлен комплекс On-Premise.
-
(Если ключ не менялся) Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.
-
Внутри S3-хранилища удалите всё содержимое директории license-dir, кроме файла
type
(находится в корне директории).Если файл
type
случайно удалён, вы можете восстановить его командойdgctl pull
с указанием аргумента--only-license
. Если при этом в окружении нет хоста с доступом в интернет, используйте дополнительный хост для копирования файлов. -
Удалите директорию с данными для хранения состояний сервиса лицензий.
-
Установите сервис лицензий и запросите новую лицензию обычным способом.