Обновление IVA One

Обновление версий IVA One:

Состав дистрибутива

Дистрибутива для версии 1.1

Дистрибутив IVA One для мажорной версии 1.1, включая минорные версии 1.1.1 и 1.1.2, состоит из следующих компонентов:

  • containers.tar — архив c контейнерами компонентов IVA One, включающий в себя основной набор сервисов приложения IVA One

  • iva-one.tgz — архив helm-чарта для установки и настройки компонентов IVA One

Загрузка дистрибутива производится из официального репозитория (файлового хранилища) компании IVA Technologies, либо выполняется иным способом

Дистрибутив для версии 1.2

Состав дистрибутива для версии 1.2 зависит от типа загрузки дистрибутива:

  • онлайн-загрузка: iva-one-helm-chart-X.Y.Z.tgz — архив helm-чарта

  • офлайн-загрузка:

    • iva-one-helm-chart-X.Y.Z.tgz — архив helm-чарта

    • iva-one-images-offline-X.Y.Z.tar.gz — архив с образами контейнеров компонентов IVA One

Более подробно с составом дистрибутива для версии 1.2 можно ознакомиться в соответствующем разделе

Обновление мажорных версий IVA One

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

Варианты обновления мажорных версий:

Обновление с версии 1.0.3 на версию 1.1

Необходимо выполнить миграцию IVA One с версии 1.0.3 на версию 1.1.

Требуемые условия для выполнения миграции:

  1. установлен IVA One версии 1.0.3

  2. выполнена интеграция IVA One с IVA MCU

  3. выполнена интеграция IVA One с IVA Mail

  4. выполнены требования к службе разрешения доменных имен

    В IVA One версии 1.1 появился новый модуль — Панель администрирования.
    Для доступа к панели администрирования необходимо отдельное доменное имя, корректно разрешаемое в DNS

Загрузка дистрибутива из локального источника

Порядок выполняемых действий:

  1. загрузить установочные архивы с версией 1.1 на хост-машину в домашнюю директорию

  2. создать директорию для установки IVA One с помощью команд:

    sudo rm -rf /opt/iva/iva-one
    sudo mkdir -p /opt/iva/iva-one
  3. разархивировать архив helm-чарта в директорию /opt/iva/iva-one:

    sudo tar xf iva-one.tgz -C /opt/iva/iva-one --strip-components=1
  1. переименовать файл values.yaml предыдущей версии:

    sudo mv /opt/iva/values.yaml /opt/iva/values.yaml.back
  2. скопировать файл values.yaml из нового дистрибутива в директорию /opt/iva:

    sudo cp -n /opt/iva/iva-one/values.yaml /opt/iva/values.yaml
  3. загрузить контейнеры из архива в окружение k3s:

    sudo ctr --address /run/k3s/containerd/containerd.sock -n=k8s.io images import containers.tar
    В случае появления ошибок необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал
  4. убедиться, что загруженные контейнеры стали доступны в окружении k3s:

    sudo crictl images

    Пример вывода:

    IMAGE                                                   TAG                            IMAGE ID            SIZE
    cr.fluentbit.io/fluent/fluent-bit                       4.0.7                          46f8e15ff109f       46MB
    docker.hi-tech.org/iva/core/id/base                     v0.26.2                        dcff3802bd74b       282MB
    docker.hi-tech.org/iva/core/id/base                     v0.26.4                        fd3dcc83c73ef       528MB
    docker.hi-tech.org/iva/core/id/base                     v0.26.5                        8230bd3a7312f       288MB
    docker.hi-tech.org/iva/core/id/base                     v0.26.6                        c24b1b32ff82b       528MB
    docker.hi-tech.org/iva/core/link/adapter                v0.5.2                         fddf8366bae0a       12.5MB
    docker.hi-tech.org/iva/core/link/adapter                v0.6.0                         a783055746d86       29.7MB
    docker.hi-tech.org/iva/core/link/notifications          v0.11.6                        57558868ca57f       12MB
    docker.hi-tech.org/iva/core/link/notifications          v0.13.0                        467edca9531cc       31MB
    docker.hi-tech.org/iva/core/link/notifications          v0.14.0                        48ce16ee7c003       31MB
    docker.hi-tech.org/iva/core/link/notifications          v0.15.0                        be070449f0ee1       31MB
    docker.hi-tech.org/iva/one/backend/admin-api-gateway    v1.0.0                         fbbfc4f022bf0       36.2MB
    docker.hi-tech.org/iva/one/backend/admin-api-gateway    v1.1.0                         ca73270ca27ec       36.3MB
    docker.hi-tech.org/iva/one/backend/api-gateway          v0.35.5                        4460c25851b8a       13.2MB
    docker.hi-tech.org/iva/one/backend/api-gateway          v0.37.0                        b5eb3b62f74bd       30.9MB
    docker.hi-tech.org/iva/one/backend/api-gateway          v0.38.0                        8f6bc16b96e65       13.4MB
    docker.hi-tech.org/iva/one/backend/api-gateway          v0.39.0                        c74f4c78a069e       30.9MB
    docker.hi-tech.org/iva/one/backend/api-gateway          v0.40.0                        f842fbf321dcd       30.9MB
    docker.hi-tech.org/iva/one/backend/call                 v0.38.2                        b99a4d16ebd40       11.2MB
    docker.hi-tech.org/iva/one/backend/call                 v0.40.0                        cd6408cad983b       28.7MB
    .....
  5. настроить корректное отображения IP-адресов пользователей в окружении k3s:

    При использовании внешнего прокси-сервера содержимое файла traefik-real-ip.yaml нужно изменить согласно утвержденным требованиям безопасности
    sudo cp /opt/iva/iva-one/extra/traefik-real-ip.yaml /var/lib/rancher/k3s/server/manifests/traefik-real-ip.yaml

Обновление настроек values

Версия IVA One 1.1 не поддерживает автоматический перенос настроек из файла конфигурации values.yaml.
Перенос настроек необходимо выполнять вручную

Порядок выполняемых действий:

  1. открыть файл /opt/iva/values.yaml.back с помощью команды:

    sudo nano /opt/iva/values.yaml.back
  2. скопировать значения настроек из секции iva и других модифицированных разделов файла предыдущей версии /opt/iva/values.yaml.back

  3. открыть файл новой версии /opt/iva/values.yaml с помощью команды:

    sudo nano /opt/iva/values.yaml
  4. вставить скопированные значения в файл новой версии /opt/iva/values.yaml

    Пример раздела iva файла values.yaml новой версии:

    В данном примере интеграция с IVA Mail не выполнена
    iva:
       id:
         domain: &iva_id_domain "<IVA_ID_DOMAIN>"
         url: &iva_id_url "https://<IVA_ID_DOMAIN>"
         authCookieDomain: &iva_id_auth_cookie_domain "<SLD_IVA_DOMAIN>"
         trustedCaSecrets: &iva_id_trusted_ca_secrets []
       eventbus:
         serviceType: NodePort  # Select LoadBalancer for HA k8s cluster, otherwise you may use NodePort
         externalPort: 32222    # NodePort, may be empty for LoadBalancer
         loadBalancerIP: ""     # Optional, may be used for LoadBalancer, leave empty for auto allocation
       admin:
         domain: &iva_admin_domain "<IVA_ONE_ADMIN_DOMAIN>"
         url: &iva_admin_url "https://<IVA_ONE_ADMIN_DOMAIN>"
       one:
         domain: &iva_one_domain "<IVA_ONE_DOMAIN>"
         url: &iva_one_url "https://<IVA_ONE_DOMAIN>"
         id:
           secret: &iva_one_id_secret " <CLIENT_SECRET>"
       mail:
         enabled: &iva_mail_enabled false
         url: &iva_mail_url ""
         domains: &iva_mail_domains ""
         jump:
           username: &iva_mail_jump_username "admin"
           password: &iva_mail_jump_password "admin"
       mcu:
         url: &iva_mcu_url "<IVA_MCU_DOMAIN>"
         appId: &iva_mcu_app_id "APP_ID"
         appSecret: &iva_mcu_app_secret "APP_PASS"
         domainId: &iva_mcu_domain_id "DOMAIN_ID"

    где:

    • строка domain — указать наименование домена:

      Доменное имя является веб-адресом сервера
      • <IVA_ONE_ADMIN_DOMAIN> — доменное имя для доступа к панели администрирования IVA One

      • <IVA_ID_DOMAIN> — доменное имя IVA ID

      • <IVA_ONE_DOMAIN> — доменное имя IVA One

    • строка url указать URL для доступа к клиенту:

      • <IVA_ID_DOMAIN> — URL для доступа к IVA ID (клиент iva-id)

      • <IVA_ONE_DOMAIN> — URL для доступа к IVA One (клиент iva-one)

      • <IVA_MCU_DOMAIN> — URL для доступа к IVA MCU (клиент iva-mcu)

    • строка authCookieDomain — указать домен второго уровня для domain:

      • <SLD_IVA_DOMAIN> — наименование домена второго уровня

    • строка secret — указать домен второго уровня для domain:

    • строка appId:

    • строка appSecret:

    • строка domainId:

Процесс обновления IVA One

Порядок выполняемых действий:

  1. запустить процесс обновления, выполнив команду:

    sudo helm upgrade iva-one /opt/iva/iva-one -f /opt/iva/values.yaml -n <IVA_NAMESPACE>

    где <IVA_NAMESPACE> — имя целевого пространства (namespace) IVA One в Kubernetes, если оно отличается от имени по умолчанию — default

  2. дождаться завершения обновления

    Выполнение обновления может занимать длительное время

    Пример вывода при успешном обновлении:

    Release "iva-one" has been upgraded. Happy Helming!
    NAME: iva-one
    LAST DEPLOYED: Wed Oct 02 12:32:21 2025
    NAMESPACE: default
    STATUS: deployed
    REVISION: 7
  3. проверить статус развертывания pod (статус подов), выполнив команду:

    sudo kubectl get pods

    Статусы подов должны быть в состоянии Running.

    Статусы подов Completed и Exited также не являются ошибкой развертывания и сообщают об успешной установке

    Пример вывода:

    NAME                                      READY   STATUS    RESTARTS      AGE
    centrifugo-7687566f89-944gr               1/1     Running   0             20m
    iva-admin-api-gateway-54cbf7cd5c-scxk6    1/1     Running   0             21m
    iva-admin-web-75c59856dc-ptc6m            1/1     Running   0             21m
    iva-diskstorage-74688c6498-8ldcb          1/1     Running   0             13m
    iva-eventbus-0                            2/2     Running   0             31m
    iva-eventbus-1                            2/2     Running   0             31m
    iva-eventbus-2                            2/2     Running   0             31m
    iva-eventbus-box-7db9d8687b-tf48c         1/1     Running   0             31m
    iva-eventbus-operator-866cd89c9c-7br6p    1/1     Running   3 (31m ago)   31m
    iva-id-0                                  1/1     Running   0             14m
    iva-link-adapter-f747bddb8-wkkzl          1/1     Running   0             14m
    iva-link-notifications-6c44c99448-k4lgd   1/1     Running   0             14m
    iva-mail-adapter-7b8f8fb77c-5xb27         1/1     Running   13 (35m ago)  15m
    iva-one-api-gateway-78847d7b59-c8qz6      1/1     Running   0             13m
    iva-one-calls-57cb87696f-wnm52            1/1     Running   0             14m
    iva-one-chats-55bc9496f7-6mnsh            1/1     Running   0             14m
    iva-one-profiles-758b5c6c54-v84q2         1/1     Running   0             14m
    iva-one-web-7d6d554669-bbxvd              1/1     Running   0             21m
    ivaid-operator-69c49bc655-jwps4           1/1     Running   0             14m
    minio-58dc86f4cb-2m7dl                    1/1     Running   0             31m
    opensearch-0                              1/1     Running   0             31m
    postgresql-0                              1/1     Running   0             22m
    valkey-0                                  2/2     Running   0             22m
    valkey-1                                  2/2     Running   0             22m
    valkey-2                                  2/2     Running   0             22m
    valkey-3                                  2/2     Running   0             22m
    valkey-4                                  2/2     Running   0             22m
    valkey-5                                  2/2     Running   0             22m

Ошибка пода iva-one-profiles

Если новая версия пода iva-one-profiles не запускается и находится в статусе CrashLoopBackOff, то необходимо:

  1. получить пароль пользователя iva_user в Postgres, выполнив команду:

    sudo kubectl -n default get secret iva-one-postgresql-secret -o jsonpath='{.data.password}' | base64 --decode
  2. модифицировать таблицу в базе данных iva_one_profiles, выполнив команду:

    После ввода команды необходимо подтвердить действие введением пароля пользователя iva_user в Postgres
    sudo kubectl exec -it postgresql-0 -- psql -U iva_user -d iva_one_profiles -c "ALTER TABLE users DROP COLUMN verify_at; DELETE FROM goose_db_version WHERE version_id = 20250815131624;"

    При использовании внешней базы данных для модификации таблицы iva_one_profiles необходимо в окне запросов базы данных выполнить команду:

    "ALTER TABLE users DROP COLUMN verify_at; DELETE FROM goose_db_version WHERE version_id = 20250815131624;"
  3. определить ID пода iva-one-profiles, выполнив команду:

    sudo kubectl -n default get pods  | grep iva-one-profiles

    Пример вывода:

    iva-one-profiles-758b5c6c54-v84q2                0/1     CrashLoopBackOff   0 (13m ago)   13m
  4. перезапустить под iva-one-profiles, выполнив команду:

    sudo kubectl -n default delete pod <pod_id>

    где <pod_id> — идентификатор пода iva-one-profiles, полученный в выводе предыдущей команды

    Пример команды:

    sudo kubectl -n default delete pod iva-one-profiles-758b5c6c54-v84q2t

Настройка IVA ID

Порядок выполняемых действий:

  1. установить параметр Valid redirect URIs:
    Войти в IVA IDНажать Manage RealmsВыбрать IVAПерейти в раздел ClientsВыбрать iva-oneВкладка SettingsВыбрать секцию Access settingsВ строке Valid redirect URIs установить значение: *Нажать кнопку Save

    Установка параметра Valid redirect URIs
  2. добавить роль manage-users:
    Перейти в раздел ClientsВыбрать iva-oneВкладка Service accounts rolesВ выпадающем списке Assign role выбрать: Clients rolesВключить флаговую кнопку manage-usersНажать кнопку Assign

    Добавление роли manage-users
  3. изменить имя клиента iva-desktop (при необходимости):
    Перейти в раздел ClientsВыбрать iva-desktopВкладка SettingsВыбрать секцию General settingsВ строке Client ID установить значение: iva-one-desktopНажать кнопку Save

    Изменение имени клиента iva-desktop
  4. создать роль iva-admin:

    Перейти в раздел Realm rolesНажать кнопку Create roleВ строке Role name установить значение: iva-adminНажать кнопку Save

    Создание роли iva-admin
    Роль iva-admin необходима для доступа к панели администрирования IVA One
  5. добавить пользовательский атрибут avatarFileId:

    Перейти в раздел Realm settingsВкладка User profileНажать кнопку Create attributeВыполнить следующие настройки:

    • в секции General settings заполнить поле Attribute [Name]: avatarFileId

    • в секции General settings поле Display NameНажать кнопку Add translationsSupported languagesRussianЗаполнить поле Translation: ID файла аватараНажать кнопку Ok

    • в секции ValidationsНажать кнопку Add validatorValidator type: lengthMinimum length: 0Maximum length: 255Нажать кнопку Save

    • нажать кнопку Create

      Добавление пользовательского атрибута avatarFileId
  6. установить Edit mode: UNSYNCED (при интеграции IVA ID с LDAP)

    Перейти в раздел User federationВыбрать LDAP провайдераВыбрать секцию LDAP searching and updatingВ выпадающем списке Edit mode выбрать: UNSYNCED

    Установка Edit mode: UNSYNCED
После завершения миграции необходимо выполнить настройки согласно пункту Подключение к панели администрирования IVA One

Обновление с версии 1.1 на версию 1.2

Необходимо выполнить миграцию IVA One с версии 1.1 на версию 1.2.

Требуемые условия для выполнения миграции:

  1. установлен IVA One версии 1.1

  2. выполнены требования к службе разрешения доменных имен

Подготовка к обновлению

Порядок выполняемых действий:

  1. удалить директорию с helm-чартом старой версии с помощью команды:

    sudo rm -rf /opt/iva/iva-one
  2. создать новую директорию для helm-чарта, выполнив команду:

    sudo mkdir -p /opt/iva/iva-one
  3. загрузить архив с helm-чартом с версией 1.2 на хост-машину в домашнюю директорию

  4. разархивировать архив helm-чарта в директорию /opt/iva/iva-one:

    sudo tar xf iva-one-helm-chart-X.Y.Z.tgz -C /opt/iva/iva-one --strip-components=1
  5. переименовать файл values.yaml предыдущей версии 1.1:

    sudo mv /opt/iva/values.yaml /opt/iva/values.yaml.back
  6. скопировать файл values.yaml из нового дистрибутива 1.2 в директорию /opt/iva:

    sudo cp -n /opt/iva/iva-one/values.yaml /opt/iva/values.yaml

Обновление настроек values для версии 1.2

Версия IVA One 1.2 не поддерживает автоматический перенос настроек из файла конфигурации values.yaml.
Перенос настроек необходимо выполнять вручную

Порядок выполняемых действий:

  1. открыть файл конфигурации предыдущей версии 1.1 /opt/iva/values.yaml.back с помощью команды:

    sudo nano /opt/iva/values.yaml.back
  2. скопировать значения настроек из секции iva и других модифицированных разделов файла конфигурации предыдущей версии /opt/iva/values.yaml.back

  3. открыть файл новой версии /opt/iva/values.yaml с помощью команды:

    sudo nano /opt/iva/values.yaml
  4. вставить скопированные значения в файл новой версии /opt/iva/values.yaml

    Пример скопированных настроек секции iva файла values.yaml новой версии:

    В данном примере интеграция с IVA Mail и IVA MCU не выполнена
    iva:
       id:
         domain: &iva_id_domain "<IVA_ID_DOMAIN>"
         url: &iva_id_url "https://<IVA_ID_DOMAIN>"
         authCookieDomain: &iva_id_auth_cookie_domain "<SLD_IVA_DOMAIN>"
         trustedCaSecrets: &iva_id_trusted_ca_secrets []
       eventbus:
         serviceType: NodePort  # Select LoadBalancer for HA k8s cluster, otherwise you may use NodePort
         externalPort: 32222    # NodePort, may be empty for LoadBalancer
         loadBalancerIP: ""     # Optional, may be used for LoadBalancer, leave empty for auto allocation
       admin:
         domain: &iva_admin_domain "<IVA_ONE_ADMIN_DOMAIN>"
         url: &iva_admin_url "https://<IVA_ONE_ADMIN_DOMAIN>"
       one:
         domain: &iva_one_domain "<IVA_ONE_DOMAIN>"
         url: &iva_one_url "https://<IVA_ONE_DOMAIN>"
         id:
           # id.secretName Name of an existing Secret with `secret` key.
           # If not set, a new Secret named `iva-one-id-secret` will be created using the value below.
           secretName: &iva_one_id_secret_name ""
           # id.secret secret for iva-one. Ignored if `id.secretName` is set.
           secret: "<CLIENT_SECRET>"

    где:

    • строка domain — указать наименование домена:

      Доменное имя является веб-адресом сервера
      • <IVA_ONE_ADMIN_DOMAIN> — доменное имя для доступа к панели администрирования IVA One

      • <IVA_ID_DOMAIN> — доменное имя IVA ID

      • <IVA_ONE_DOMAIN> — доменное имя IVA One

    • строка url указать URL для доступа к клиенту:

      • <IVA_ID_DOMAIN> — URL для доступа к IVA ID (клиент iva-id)

      • <IVA_ONE_DOMAIN> — URL для доступа к IVA One (клиент iva-one)

      • <IVA_MCU_DOMAIN> — URL для доступа к IVA MCU (клиент iva-mcu)

    • строка authCookieDomain — указать домен второго уровня для domain:

      • <SLD_IVA_DOMAIN> — наименование домена второго уровня

    • строка secretName — секрет клиента, созданного в Kubernetes

    • строка secret — сгенерированный в IVA ID секрет клиента <CLIENT_SECRET> (пример формата секрета: lKCb3o46l1FFlEMgTee5OkglO9zkk4nC)

Настройка параметров подключения к внешним сервисам

В версии IVA One 1.2 с помощью настройки поля existingSecret можно указать, управляет ли helm-чарт секретами Kubernetes для подключения к сервисам СУБД PostgreSQL, S3-хранилищу, OpenSearch:

  • existingSecret: true — будет использоваться уже существующий секрет Kubernetes с именем указанным в поле secret

  • existingSecret: false — управление helm-чарта. Если идентификационные поля заполнены, то будет создаваться секрет с их использованием, если поля пустые — значения секретов будут сгенерированы автоматически

Для параметра existingSecret требуется установить значение true, т. к. в мажорной версии IVA One 1.1 идентификационные данные указывались в существующих секретах Kubernetes.

Для этого необходимо:

  1. открыть файл конфигурации IVA One values.yaml любым редактором (например nano), выполнив команду:

    sudo nano /opt/iva/values.yaml
  2. выполнить настройку файла конфигурации values.yaml — указать значения полей secret и existingSecret:

    presets:
      postgres:
    	...
        secret: &postgres_secret iva-one-postgresql-secret
        existingSecret: true
    	...
      s3:
    	...
        secret: &s3_secret iva-one-s3-secret
        existingSecret: true
    	...
      opensearch:
    	...
        secret: &opensearch_secret iva-one-opensearch-secret
        existingSecret: true
    	...

Далее требуется определить вариант загрузки используемого дистрибутива и загрузить контейнеры локально (при необходимости).

Процесс обновления IVA One на версию 1.2

В версии IVA One 1.2 реализована поддержка TLS-соединений внутри кластера с автоматическим выпуском сертификатов.
Новый под (pod) EventBus принимает только защищенные соединения. Старые поды не смогут установить соединение с новой версией пода, что приведет к блокировке удаления устаревшего пода EventBus и остановит процесс обновления.

Чтобы избежать этого, перед обновлением версии IVA One необходимо вручную удалить StatefulSet EventBus с помощью команды:

sudo kubectl delete statefulset iva-eventbus -n <IVA_NAMESPACE>

где <IVA_NAMESPACE> — имя целевого пространства (namespace) IVA One в Kubernetes, если оно отличается от имени по умолчанию — default

Далее необходимо запустить процесс обновления IVA One, выполнив команду:

sudo helm upgrade iva-one /opt/iva/iva-one -f /opt/iva/values.yaml -n <IVA_NAMESPACE>

Обновление может занимать длительное время

Пример вывода при успешном обновлении:

Release "iva-one" has been upgraded. Happy Helming!
NAME: iva-one
LAST DEPLOYED: Wed Oct 02 12:32:21 2025
NAMESPACE: default
STATUS: deployed
REVISION: 7

Дождаться завершения обновления и проверить статус развертывания подов (статус pod), выполнив команду:

sudo kubectl get pods

Статусы подов должны быть в состоянии Running.

Статусы подов Completed и Exited также не являются ошибкой развертывания и сообщают об успешной установке

Пример вывода:

NAME                                      READY   STATUS    RESTARTS      AGE
centrifugo-7687566f89-944gr               1/1     Running   0             20m
iva-admin-api-gateway-54cbf7cd5c-scxk6    1/1     Running   0             21m
iva-admin-web-75c59856dc-ptc6m            1/1     Running   0             21m
iva-diskstorage-74688c6498-8ldcb          1/1     Running   0             13m
iva-eventbus-0                            2/2     Running   0             31m
iva-eventbus-1                            2/2     Running   0             31m
iva-eventbus-2                            2/2     Running   0             31m
iva-eventbus-box-7db9d8687b-tf48c         1/1     Running   0             31m
iva-eventbus-operator-866cd89c9c-7br6p    1/1     Running   3 (31m ago)   31m
iva-id-0                                  1/1     Running   0             14m
iva-link-adapter-f747bddb8-wkkzl          1/1     Running   0             14m
iva-link-notifications-6c44c99448-k4lgd   1/1     Running   0             14m
iva-mail-adapter-7b8f8fb77c-5xb27         1/1     Running   13 (35m ago)  15m
iva-one-api-gateway-78847d7b59-c8qz6      1/1     Running   0             13m
iva-one-calls-57cb87696f-wnm52            1/1     Running   0             14m
iva-one-chats-55bc9496f7-6mnsh            1/1     Running   0             14m
iva-one-profiles-758b5c6c54-v84q2         1/1     Running   0             14m
iva-one-web-7d6d554669-bbxvd              1/1     Running   0             21m
ivaid-operator-69c49bc655-jwps4           1/1     Running   0             14m
minio-58dc86f4cb-2m7dl                    1/1     Running   0             31m
opensearch-0                              1/1     Running   0             31m
postgresql-0                              1/1     Running   0             22m
valkey-0                                  2/2     Running   0             22m
valkey-1                                  2/2     Running   0             22m
valkey-2                                  2/2     Running   0             22m
valkey-3                                  2/2     Running   0             22m
valkey-4                                  2/2     Running   0             22m
valkey-5                                  2/2     Running   0             22m
При возникновении сбоев в процессе обновления необходимо провести базовую диагностику IVA One
В версии IVA One 1.2 реализована синхронизация пользовательских аватаров полученных из внешнего каталога. Подробнее — Синхронизация пользовательских аватаров из внешнего каталога

Обновление минорных версий IVA One

Минорная версия подразумевает исправление ошибок в рамках одного мажорного релиза с сохранением обратной совместимости

Исходные условия миграции

Необходимо выполнить миграцию IVA One с версии 1.1.1 на версию 1.1.2.

Требуемые условия для выполнения миграции:

  1. установлен IVA One версии 1.1.1

  2. выполнена интеграция IVA One с IVA MCU

  3. выполнена интеграция IVA One с IVA Mail

Загрузка дистрибутива из локального источника

Порядок выполняемых действий:

  1. загрузить установочные архивы с версией IVA One 1.1.2 на хост-машину в домашнюю директорию

  2. создать директорию для установки IVA One с помощью команд:

    sudo rm -rf /opt/iva/iva-one
    sudo mkdir -p /opt/iva/iva-one
  3. разархивировать архив helm-чарта в директорию /opt/iva/iva-one:

    sudo tar xf iva-one.tgz -C /opt/iva/iva-one --strip-components=1
  4. загрузить контейнеры из архива в окружение k3s:

    sudo ctr --address /run/k3s/containerd/containerd.sock -n=k8s.io images import containers.tar
    В случае появления ошибок необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал
  5. убедиться, что загруженные контейнеры стали доступны в окружении k3s:

    sudo crictl images

Обновление настроек values

Существующий файл конфигурации /opt/iva/values.yaml версии 1.1.1 будет использоваться для развертывания обновленной версии 1.1.2 и его обновление не требуется.

Процесс обновления IVA One

Порядок выполняемых действий:

  1. запустить процесс обновления, выполнив команду:

    sudo helm upgrade iva-one /opt/iva/iva-one -f /opt/iva/values.yaml -n <IVA_NAMESPACE>

    где <IVA_NAMESPACE> — имя целевого пространства (namespace) IVA One в Kubernetes, если оно отличается от имени по умолчанию — default

  2. дождаться завершения обновления

    Выполнение обновления может занимать длительное время

    Пример вывода при успешном обновлении:

    Release "iva-one" has been upgraded. Happy Helming!
    NAME: iva-one
    LAST DEPLOYED: Wed Oct 02 12:32:21 2025
    NAMESPACE: default
    STATUS: deployed
    REVISION: 7
  3. проверить статус развертывания подов (статус pod), выполнив команду:

    sudo kubectl get pods

    Статусы подов должны быть в состоянии Running.

    Статусы подов Completed и Exited также не являются ошибкой развертывания и сообщают об успешной установке

    Пример вывода:

    NAME                                      READY   STATUS    RESTARTS      AGE
    centrifugo-7687566f89-944gr               1/1     Running   0             20m
    iva-admin-api-gateway-54cbf7cd5c-scxk6    1/1     Running   0             21m
    iva-admin-web-75c59856dc-ptc6m            1/1     Running   0             21m
    iva-diskstorage-74688c6498-8ldcb          1/1     Running   0             13m
    iva-eventbus-0                            2/2     Running   0             31m
    iva-eventbus-1                            2/2     Running   0             31m
    iva-eventbus-2                            2/2     Running   0             31m
    iva-eventbus-box-7db9d8687b-tf48c         1/1     Running   0             31m
    iva-eventbus-operator-866cd89c9c-7br6p    1/1     Running   3 (31m ago)   31m
    iva-id-0                                  1/1     Running   0             14m
    iva-link-adapter-f747bddb8-wkkzl          1/1     Running   0             14m
    iva-link-notifications-6c44c99448-k4lgd   1/1     Running   0             14m
    iva-mail-adapter-7b8f8fb77c-5xb27         1/1     Running   13 (35m ago)  15m
    iva-one-api-gateway-78847d7b59-c8qz6      1/1     Running   0             13m
    iva-one-calls-57cb87696f-wnm52            1/1     Running   0             14m
    iva-one-chats-55bc9496f7-6mnsh            1/1     Running   0             14m
    iva-one-profiles-758b5c6c54-v84q2         1/1     Running   0             14m
    iva-one-web-7d6d554669-bbxvd              1/1     Running   0             21m
    ivaid-operator-69c49bc655-jwps4           1/1     Running   0             14m
    minio-58dc86f4cb-2m7dl                    1/1     Running   0             31m
    opensearch-0                              1/1     Running   0             31m
    postgresql-0                              1/1     Running   0             22m
    valkey-0                                  2/2     Running   0             22m
    valkey-1                                  2/2     Running   0             22m
    valkey-2                                  2/2     Running   0             22m
    valkey-3                                  2/2     Running   0             22m
    valkey-4                                  2/2     Running   0             22m
    valkey-5                                  2/2     Running   0             22m