Обновление#

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

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

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

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

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

         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.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.yml

          DB_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.conf

          global.platform.rplw.ott.module.id - Имя модуля, указанное в поле CN запроса и сертификата клиента ОТТ
          global.platform.rplw.ott.service.hosts - Адрес сервера OTTS
      
  3. Подготовить репозиторий RPLW на стенде для миграции конфигурационных файлов из дистрибутива в этот репозиторий. Требуется сделать аналогично репозиторию GRDL.

  4. Особенности установки компонента RPLW для релиза 2.3.x:

    • Если установка 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. Проверьте работоспособность.