Обновление#
Сценарий обновления#
Этот сценарий обновления для ситуаций, когда между версиями соблюдается обратная совместимость. GraDeLy гарантирует совместимость версий релизов.
Подготовка к обновлению до версии 2.3.x#
Требуется подготовить subsystems.json добавив него новые SUBSYSTEM пример:
Для установки компонента RPLW (module)
"<RPLW_SUBSYSTEM>": { "fpType": "<fpType>", "fpi_name": "rplw", "nexus_repo": "<nexus_repo>", "groupId": "<groupId>", "artifactId": "rplw-cfg", "versionFilter": "D-*", "fpi_name_ose": "rplw", "app_name": ["rplw-module"], "registryPath": "<registryPath>" },Для установки GRDL (console+console-ui)
"<GRDL_SUBSYSTEM>": { "fpType": "<fpType>", "fpi_name": "grdl", "nexus_repo": "<nexus_repo>", "groupId": "<groupId>", "artifactId": "grdl-cfg", "versionFilter": "D-*", "fpi_name_ose": "grdl", "app_name": ["grdl-console-ui","grdl-console"], "registryPath": "<registryPath>" },Добавить глобальные переменные среды в common репозиторий для компонента RPLW:
параметры
${стенд}/installer/system/efs/config/parameters/ssl.confssl.ose.istio.rplw.kafka.fqdns - FQDN серверов kafka через запятую ssl.ose.istio.rplw.kafka.ips - IP-адреса серверов kafka через запятую в порядке, совпадающем с предыдущем значением; если IP не используется, выставляется значение none ssl.ose.istio.rplw.psql.fqdns - FQDN серверов БД источников/приемников Postgres через запятую ssl.proxy.type - тип proxy на ингресс-контроллере (nginx или haproxy) ssl.ose.secman.host - адрес сервера secman ssl.ose.secman.port - порт для подключения к серверу secman rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.namespace - имя namespace в vault, где хранятся секреты проекта rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.role.module - имя роли в vault, от которой будут выполняться API-вызовы vault-agent для namespace module rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.client-max-retries - максимальное количество попыток переподключения к серверу vault rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-limits-cpu - максимальное значение ресурсов по CPU для sidecar vault-agent rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-limits-mem - максимальное значение ресурсов по RAM для sidecar vault-agent rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-requests-cpu - минимальное значение ресурсов по CPU для sidecar vault-agent rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.agent-requests-mem - минимальное значение ресурсов по CPU для sidecar vault-agentпараметры
${стенд}/parameters/common.conf.ymlDB_SCHEMA_worker - схема БД приемника, для проливки скриптов LB RPLW_POSTGRES_DB_URL_worker - адрес в БД приемника в формате jdbc:postgresql://x.x.x.x:port/db_name, если кластер БД то jdbc:postgresql://x.x.x.x:port,x.x.x.x:port/db_name?targetServerType=master&prepareThreshold=0 registry - адрес registry registry_path - путь до директории с компонентом в registry registry_path_igeg - путь до компонента образа istio registry_path_otts - путь до компонента образа ott registry_path_loga - путь до компонента образа fluent-bitпараметры
${стенд}/installer/system/efs/config/parameters/_global.ott.confglobal.platform.rplw.ott.module.id - Имя модуля, указанное в поле CN запроса и сертификата клиента ОТТ global.platform.rplw.ott.service.hosts - Адрес сервера OTTS
Подготовить репозиторий RPLW на стенде для миграции конфигурационных файлов из дистрибутива в этот репозиторий. Требуется сделать аналогично репозиторию GRDL.
Особенности установки компонента RPLW для релиза 2.3.x:
Если установка RPLW будет производиться в namespace module предыдущих релизов, то перед этим потребуется очистить этот namespace от манифестов предыдущих релизов.
Если установка RPLW будет производиться в новый namespace то его требуется настроить в соответствии с namespace где был развёрнут module.
Шаги обновления#
После развертывания нового релиза GraDeLy, чтобы не было одновременно работающих серверов приложений с приложениями grdl-console, grdl-console-ui, grdl-module компонента GraDeLy предыдущих релизов:
Сделайте back-up базы данных.
Удалите предыдущую версию приложения (подробнее в разделе «Удаление»).
Разверните новый дистрибутив приложения. (Проверяйте версию дистрибутива вручную через label(version) прикладных подов или через командную строку администратором (например
kubectl get pods -l version=D-2.0.0-XXXвыведет все поды версии).Проверьте работоспособность.