Примечания перед обновлением/даунгрейдом#
Примечание. Пропустите данный раздел если разворачиваете LUNA PLATFORM с нуля.
Во время обновления/даунгрейда необходимо выполнить следующие действия:
- спланировать воздействие на запущенные сервисы, использующие базы данных. См. подробную информацию в разделе "Рекомендации по поведению сервисов во время подготовки окружения" руководства по утилите Storages.
-
при даунгрейде указать нужную версию LUNA PLATFORM в переменной
--platform-versionв следующих файлах: -
storages/overlays/check/overlay-check.yaml storages/overlays/prepare/overlay-prepare.yaml
См. раздел "Подготовка окружения".
- удалить старые Helm чарты и манифесты подготовки окружения перед установкой новых. См. раздел "Удаление старых Helm чартов и манифестов".
Важно! Если текущая установка выполнена на версии 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, найденным тем же способом.