Обновление#

Сценарий обновления#

Этот сценарий обновления для ситуаций, когда между версиями соблюдается обратная совместимость. GraDeLy гарантирует совместимость версий релизов.

Подготовка к обновлению до версии 2.3.0#

  1. Требуется подготовить 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>"
  },
  1. Добавить глобальные переменные среды в common репозиторий для компонента RPLW:

  • параметры ${стенд}/installer/system/efs/config/parameters/ssl.conf

       ssl.ose.keyStore.mq.keyStoreFromFile - путь до файла jks в репозитории common
       ssl.ose.keyStore.mq.CertAlias - алиас сертификата
       ssl.ose.istio.keyStore.RootCertAlias - алиас корневого сертификата
       ssl.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.ui - имя роли в vault, от которой будут выполняться API-вызовы vault-agent для namespace UI
       rplw.ose.deployment.spec.template.metadata.annotations.vault.hashicorp.com.role.console - имя роли в vault, от которой будут выполняться API-вызовы vault-agent для namespace console
       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
       ssl.ose.istio.rplw.data.fqdns - домен для nDC
       ssl.ose.istio.rplw.data.count - количество namespace для nDC
    
  • параметры ${стенд}/parameters/common.conf.yml

        DB_SCHEMA_SUFFIX - суффикс схемы БД конфигурации, можно оставить пустым ""
        DB_SCHEMA_SUFFIX_worker - суффикс схемы БД приемника, можно оставить пустым ""
        RPLW_POSTGRES_DB_URL_worker - адрес в БД приемника в формате jdbc:postgresql://x.x.x.x:port/db_name
        worker_db_flag - принимает значения "NO" или "YES", флаг переключает работу liquibase на вспомогательную таблицу в БД приемника, если флаг "YES", и на основновную в БД конфигурации, если флаг "NO"
        registry - адрес registry
        registry_path - путь до директории с компонентом в registry
        registry_path_istio - путь до компонента образа istio
        registry_path_ott - путь до компонента образа ott
    
  • параметры ${стенд}/installer/system/efs/config/parameters/_global.ott.conf

        global.platform.rplw.ott.module.id - Имя модуля, указанное в поле CN запроса и сертификата клиента ОТТ
        global.platform.rplw.ott.service.hosts - Адрес сервера OTTS
        global.ott.service.hosts - Адрес сервера OTTS
    
  1. Особенности установки компонента RPLW для релиза 2.3.0:

  • Если установка RPLW будет производиться в namespace module предыдущих релизов, то перед этим потребуется очистить этот namespace от манифестов предыдущих релизов.

  • Если установка RPLW будет производиться в новый namespace то его требуется настроить в соответствии с namespace где был развёрнут module.

Шаги обновления#

После развертывания нового релиза GraDeLy, чтобы не было одновременно работающих серверов приложений с приложениями grdl-console, grdl-console-ui, grdl-module компонента GraDeLy предыдущих релизов:

  1. Сделайте back-up базы данных.

  2. Удалите предыдущую версию приложения (подробнее в разделе «Удаление»).

  3. Разверните новый дистрибутив приложения. (Проверяйте версию дистрибутива вручную через label(version) прикладных подов или через командную строку администратором (например kubectl get pods -l version=D-2.0.0-XXX выведет все поды версии).

  4. Проверьте работоспособность.