Обновление Системы

Обновление Системы может быть применено при переходе на более актуальный релиз с сохранением текущего состояния Системы при условии, что Система ранее уже была установлена.

Важно убедиться, что список БД и их наименования в PostgreSQL соответствуют БД, прописанным в файле «values.yaml» актуального релиза и перечисленным в разделе PostgreSQL. БД новых сервисов необходимо вручную добавить в PostgreSQL, указывая такое же наименование, как и в файле «values.yaml», после чего приступать к обновлению Системы.

Для обновления Системы необходимо выполнить следующие действия:

1. Использовать namespace, созданный при установке Платформы в пространстве Ku-bernetes.

2. Обновить репозиторий:

helm repo update

3. Показать список доступных версий командой:

helm search repo ldm --versions

4. Найти нужную версию:

helm search repo ldm --versions | grep 1.11.0

5. Создать директорию для удобства сохранения и распаковки.

6. Скачать в созданную директорию образы:

helm pull ldm/constructor --version 1.11.0

7. Распаковать командой:

tar xvzf constructor-1.11.0.tgz

8. После распаковки открыть файл «values.yaml» и внести изменения.

  • В блоке «default» найти строку «pullSecrets», удалить квадратные скобки и через «- name:» добавить ранее созданный секрет в формате «ключ: значение».

img

Процесс создания секрета и перечень используемых для этого команд представлены в документе «Руководство по установке и конфигурированию ЛДМ. Платформа контент-сервисов».

  • В строке «repository» указать внешний репозиторий «nexus.ldm.ru:8081».
  • Для ingress указать свой host, на котором разворачивается инфраструктура.

img

  • Заменить все IP-адреса (192.168.1.45), встречающиеся в файле, на IP-адреса хоста, на котором разворачивается инфраструктура.

  • Получить сгенерированный секретный ключ командой::

kubectl get secrets

Скопировать наименование ключа из колонки «NAME» и вставить его в строку «secretName» для tls.

img

  • Заменить ENVIRONMENT_PREFIX и все вхождения «demo» на те префиксы, которые будут использоваться в микросервисах.

Между сервисами будет нарушено функциональное взаимодействие, если для них будут указаны разные префиксы.

  • Заменить все порты «9200» в файле, в частности «ELASTICSEARCH_PORT: 9200», на свои.
  • Заменить Keycloak ключ для клиента dh-backend на свой.

Для получения Keycloak ключей необходимо авторизоваться в Keycloak, перейти в реалм DH, открыть раздел Client. Открыть карточку клиента, перейти на вкладку Credentials, скопировать ключ в строке «Secret».

img

В файле «values.yaml» для dh-backend значения переменной «KEYCLOAK_CLIENT_SECRET» заменить на ключ, полученный в карточке клиента dh-backend, для всех микросервисов. После замены с помощью поиска убедиться, что прежнее значение в файле больше не встречается.

9. Находясь в директории Системы, произвести обновление:

helm upgrade constructor ldm/constructor --version 1.11.0 -f values.yaml

10. Проверить наличие Системы в списке установленных релизов текущего кластера:

helm list

Для обновленной Системы изменится значение «Revision» и версия чарта.

11. Вывести список сервисов для отслеживания их состояния:

kubectl get pods | grep 0/1