Перейти к содержанию

Примечания перед обновлением/даунгрейдом#

Примечание. Пропустите данный раздел если разворачиваете LUNA PLATFORM с нуля.

Во время обновления/даунгрейда необходимо выполнить следующие действия:

  • спланировать воздействие на запущенные сервисы, использующие базы данных. См. подробную информацию в разделе "Рекомендации по поведению сервисов во время подготовки окружения" руководства по утилите Storages.
  • при даунгрейде указать нужную версию LUNA PLATFORM в переменной --platform-version в следующих файлах:

  • storages/overlays/check/overlay-check.yaml

  • storages/overlays/prepare/overlay-prepare.yaml

См. раздел "Подготовка окружения".

Важно! Если текущая установка выполнена на версии LUNA PLATFORM ≤ v.5.177.0, перед удалением старых Helm чартов обязательно ознакомьтесь с примечанием в начале этого раздела — начиная с v.5.181.0 имена Helm-релизов и Kubernetes-ресурсов сервисов изменились, и стандартная команда helm uninstall <имя-директории-чарта> может не найти установленный релиз.

Обновление без переустановки#

Вместо полного удаления старых чартов с последующей установкой новых (см. выше) можно обновить каждый сервис на месте командой helm upgrade.

Начиная с версии v.5.181.0 текущее имя релиза и Kubernetes-ресурсов сервиса (Deployment, Service, ConfigMap) совпадает с именем директории чарта (например, configurator). На версиях LUNA PLATFORM ≤ v.5.177.0 эти имена были другими. Если выполнить helm upgrade <имя-директории-чарта> ./<имя-директории-чарта> для установки на версии ≤ v.5.177.0, Helm не обновит существующие ресурсы, а пересоздаст их под новым именем — со сбросом состояния и возможным простоем.

Чтобы обновить такую установку без пересоздания ресурсов, сначала узнайте, как сервис называется у вас сейчас:

helm list
# NAME                 NAMESPACE   REVISION  ...
# <имя-релиза>         default     3         ...

kubectl get deployment,service -l app.kubernetes.io/instance=<имя-релиза>
# deployment.apps/<имя-ресурса>   ...
# service/<имя-ресурса>           ...

Затем передайте эти имена явно при обновлении:

helm upgrade <имя-релиза> ./configurator \
  --set fullnameOverride=<имя-ресурса> \
  --set nameOverride=<имя-ресурса>

Для сервисов, зависящих от Configurator, дополнительно передайте --set appSettings.configuratorHost=<имя-ресурса-configurator> с именем ресурса Configurator, найденным тем же способом.