Обновление Системы в режиме Kubernetes¶
Обновление Системы может быть применено при переходе на более актуальный релиз с сохранением текущего состояния Системы при условии, что Система ранее уже была установлена.
Важно убедиться, что список БД и их наименования в PostgreSQL соответствуют БД, прописанным в файле «values.yaml» актуального релиза и перечисленным в разделе PostgreSQL. БД новых сервисов необходимо вручную добавить в PostgreSQL, указывая такое же наименование, как и в файле «values.yaml», после чего переходить к обновлению Системы.
Для обновления Системы необходимо выполнить следующие действия:
1. Использовать namespace, созданный при установке Платформы в пространстве Kubernetes.
2. Обновить репозиторий:
helm repo update
3. Показать список доступных версий командой:
helm search repo ldm --versions
4. Найти нужную версию:
helm search repo ldm --versions | grep 1.11.1
5. Создать директорию для удобства сохранения и распаковки.
6. Скачать в созданную директорию образы:
helm pull ldm/khd --version 1.11.1
7. Распаковать командой:
tar xvzf khd-1.11.1.tgz
8. После распаковки открыть файл «values.yaml» и внести изменения.
- В блоке «default» найти строку «pullSecrets», удалить квадратные скобки и через «- name:» добавить ранее созданный секрет в формате «ключ: значение».
Процесс создания секрета и перечень используемых для этого команд представлены в документе «Руководство по установке и конфигурированию ЛДМ. Платформа контент-сервисов».
-
В строке «repository» указать внешний репозиторий «nexus.ldm.ru:8081».
-
Для ingress указать свой host, на котором разворачивается инфраструктура.
-
Заменить все IP-адреса (192.168.1.45), встречающиеся в файле, на IP-адреса хоста, на котором разворачивается инфраструктура.
-
Получить ранее сгенерированный секретный ключ командой:
kubectl get secrets
Скопировать наименование ключа из колонки «NAME» и вставить его в строку «secretName» для tls.
- Заменить ENVIRONMENT_PREFIX и все вхождения «demo» на те префиксы, которые будут использоваться в микросервисах.
Между сервисами будет нарушено функциональное взаимодействие, если для них будут указаны разные префиксы.
- Заменить все Keycloak ключ для клиента dh-backend на свой.
Для получения Keycloak ключей необходимо авторизоваться в Keycloak, перейти в реалм DH, открыть раздел Client. Открыть карточку клиента, перейти на вкладку Credentials, скопировать ключ в строке «Secret».
В файле «values.yaml» для dh-backend значения переменной «KEYCLOAK_CLIENT_SECRET» заменить на ключ, полученный в карточке клиента dh-backend, для всех микросервисов. После замены с помощью поиска убедиться, что прежнее значение в файле больше не встречается.
9. Обновить Систему:
helm upgrade khd ldm/khd --version 1.11.1 -f values.yaml
10. Проверить наличие Системы в списке установленных релизов текущего кластера:
helm list
Для обновленной Системы изменится значение «Revision» и версия чарта.
11. Вывести список сервисов для отслеживания их состояния:
kubectl get pods | grep 0/1



