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

Продвинутые способы получения лицензии

В данном разделе описаны шаги получения лицензии в частных случаях, когда обычный способ получения недоступен.

При обновлении сертификата сервера Kubernetes API или смене кластера

Лицензия On-Premise привязана к сертификату сервера Kubernetes API, поэтому после обновления этого сертификата или переезда на другой кластер Kubernetes вам необходимо получить новую лицензию On-Premise.

Примечание

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

Если сервис не в состоянии простоя

  1. Получите новый сертификат сервера Kubernetes API у администраторов вашей инфраструктуры.
  2. Откройте директорию license-dir в S3-хранилище.
  3. Откройте поддиректорию со старшим номером.
  4. Замените файл k8s-ca.crt на новый файл сертификата, сохранив имя файла.
  5. Получите новую лицензию.

Если сервис уже в состоянии простоя

  1. Откройте директорию license-dir в S3-хранилище.

  2. Откройте поддиректорию со старшим номером.

  3. Если директория содержит файл license.txt:

    1. Обратитесь в службу поддержки On-Premise с описанием проблемы, чтобы частично аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия частично аннулирована.

      Важно

      Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.

    2. Удалите файл license.txt и переходите к следующему шагу.

    Если файл license.txt отсутствует, переходите к следующему шагу.

  4. Для версий 1.29.0 и выше:

    1. Удалите старый файл сертификата k8s-ca.crt.
    2. Перезапустите все поды сервиса лицензий.
    3. Получите новую лицензию.
    4. Перезапустите все поды сервиса лицензий.
  5. Для версий ниже 1.29.0:

    1. Получите новый сертификат сервера Kubernetes API.

      Для получения сертификата обратитесь к администраторам вашей инфраструктуры или найдите под, в спецификации которого есть параметр automountServiceAccountToken: true (например, это любой под API карт, если этот сервис установлен в окружении On-Premise) и выполните следующую команду:

      cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    2. Откройте директорию license-dir в S3-хранилище.

    3. Откройте поддиректорию со старшим номером.

    4. Замените файл k8s-ca.crt на новый файл сертификата, сохранив имя файла.

    5. Получите новую лицензию.

    6. Перезапустите все поды сервиса лицензий.

При утрате данных для хранения состояний сервиса лицензий

Каждая лицензия является специфичной для окружения, где установлен комплекс On-Premise. Если были утеряны данные хранилища для состояний сервиса лицензий (см. настройки persistence в конфигурационном файле для установки сервиса лицензий), вы не сможете использовать текущую лицензию или получить новую обычным способом.

Выполните следующие шаги:

  1. Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.

    Важно

    Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.

  2. Удалите сервис лицензий из окружения, где установлен комплекс On-Premise.

  3. Внутри S3-хранилища удалите всё содержимое директории license-dir, кроме файла type (находится в корне директории).

    Если файл type случайно удалён, вы можете восстановить его командой dgctl pull с указанием аргумента --only-license. Если при этом в окружении нет хоста с доступом в интернет, используйте дополнительный хост для копирования файлов.

  4. Установите сервис лицензий и запросите новую лицензию обычным способом.

При утрате узла с запущенным сервисом лицензий

Только для типа лицензирования 2 (license.type: 2 в конфигурационном файле для установки сервиса лицензий).

Лицензия типа 2 является специфичной для физических узлов, на которых запущен сервис лицензий. Если один из узлов был потерян, получите новую лицензию следующим способом:

  1. Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.

    Важно

    Не переходите к следующему шагу и не удаляйте никакие файлы, пока не получите подтверждение от службы поддержки On-Premise.

  2. Внутри S3-хранилища удалите директорию license-dir/1.

  3. Добавьте новый физический узел для запуска сервиса лицензий и обновите настройки, чтобы сервис лицензий появился на новом узле.

  4. Скопируйте недостающие файлы csr-N.csr и csr-N.signature из поддиректории license-dir со старшим номером в license-dir/1.

    N в номерах файлов — 0 или 1 в зависимости от того, какой узел был утерян.

  5. Внутри S3-хранилища удалите все директории кроме license-dir/1.

  6. Получите новую лицензию.

  7. Перезапустите все поды сервиса лицензий.

При смене ключа или типа лицензирования

Состояние сервиса лицензий зависит от ключа и типа лицензирования. Если ключ или тип меняются, старое состояние будет мешать дальнейшей работе сервиса. Выполните следующие шаги:

  1. Удалите сервис лицензий из окружения, где установлен комплекс On-Premise.

  2. (Если ключ не менялся) Обратитесь в службу поддержки On-Premise, чтобы аннулировать лицензию на стороне 2ГИС. Дождитесь подтверждения, что лицензия аннулирована.

  3. Внутри S3-хранилища удалите всё содержимое директории license-dir, кроме файла type (находится в корне директории).

    Если файл type случайно удалён, вы можете восстановить его командой dgctl pull с указанием аргумента --only-license. Если при этом в окружении нет хоста с доступом в интернет, используйте дополнительный хост для копирования файлов.

  4. Удалите директорию с данными для хранения состояний сервиса лицензий.

  5. Установите сервис лицензий и запросите новую лицензию обычным способом.