Перейти к содержанию

Инструкция по установке обновлений VK Teams 25.2 на одну виртуальную машину

Назначение документа

В данной инструкции описана установка обновлений VK Teams на одну виртуальную машину.

Обновить VK Teams можно двумя способами:

  1. При помощи тестовой виртуальной машины
  2. Без использования тестовой виртуальной машины

Документ предназначен для использования администраторами организации.

Если последнее обновление VK Teams проводилось более трех версий назад, свяжитесь с технической поддержкой для помощи с обновлением.

Внимание

При обновлении системы и клиентских приложений до версии 24.9 убедитесь, что:
1. После обновления в конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json есть поля services.config.tasks.is-public и services.config.orgstructure.is-public.
2. В данных полях проставлены значения false.
При отсутствии данных настроек могут быть проблемы в работе мини-аппов.

Внимание

При обновлении системы до версии 25.2 и выше сервис Keycloak переместится с поддомена "di." на "kc.". Для его корректной работы необходимо:
1. Настроить DNS-зону по инструкции.
2. Если в инсталляции включена SSO-аутентификация, удалите запись из таблицы stdb idp_configuration и заведите новую по инструкции.

Обновление VK Teams при помощи тестовой виртуальной машины

Для обновления VK Teams при помощи тестовой виртуальной машины необходимо выполнить шаги, представленные ниже.

Примечание

Все команды в консоли выполняются под пользователем root.

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

  1. Составьте и сохраните список нестандартных настроек, выполненных без применения команды im_deployer --install. Это настройки, которые выполнялись вручную и не могут быть выполнены при инсталляции, например, особые настройки S3 или LDAP. Их нужно будет выполнить повторно вручную после обновления системы.

  2. Если необходимо, подготовьте свежую версию конфигурационного файла инсталляции /usr/local/etc/premsetup/defaults.yaml. Например, в случае изменения настроек LDAP, обновления SSL-сертификатов и т. д.

  3. Создайте копию конфигурационных файлов в разделе data боевой машины, запустив скрипт подготовки к обновлению:

    /usr/local/bin/pre-upgrade.sh
    
  4. Если у вас настроена интеграция с Почтой VK WorkSpace, при обновлении VK Teams до версии 23.10 и выше необходимо добавить query-параметр wv=1 в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json.

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

    • servicesconfigmailurl

    • servicesconfigmailcompose_url

    "services": {
        "config": {
            ...
            "mail": {
                "url": "https://e.yourmaildomain.ru/api/v1/user/webauth/vkteams?wv=1",
                "compose_url": "https://e.<your_mail_domain>.ru/compose/?wv=1",
                ...
            }
    

    Внимание

    Параметр wv=1 должен быть добавлен в /usr/local/nginx-im/html/myteam/myteam-config.json до того, как клиентские приложения будут обновлены до версии 23.10 и выше. Иначе почта в клиентском приложении будет работать некорректно.

Шаг 1. Создание тестовой виртуальной машины

В рамках обновления необходимо поднять тестовую виртуальную машину с новой версией системы из OVA-файла:

  1. Создайте тестовую виртуальную машину с отдельным IP-адресом.

  2. Остановите тестовую виртуальную машину.

  3. Замените раздел data на тестовой машине копией раздела data с боевой машины.

  4. Запустите тестовую машину.

  5. Восстановите /usr/local/etc/premsetup/defaults.yaml:

    im_deployer -r
    
  6. В файле /usr/local/etc/premsetup/defaults.yaml замените внешний IP-адрес сервиса на адрес тестовой виртуальной машины. Остальные настройки не меняются.

  7. Выполните команду для инициализации всех сервисов:

    im_deployer --init
    
  8. Проверьте /usr/local/etc/premsetup/defaults.yaml на ошибки командой:

    im_deployer -t
    
  9. При отсутствии ошибок в предыдущих пунктах для запуска процесса обновления выполните команду:

    im_deployer -u
    
  10. Обновите конфигурацию, вернув специфичные для данной инсталляции настройки. Например, настройки S3 при использовании внешнего сервиса.

  11. Выполните перезагрузку машины

    reboot
    

Шаг 2. Тестирование

Тестирование новой виртуальной машины выполняется в два этапа: сначала на старых версиях клиентского ПО, затем на новых версиях клиентского ПО.

Для тестирования мобильных клиентов может быть использовать специальный DNS-сервер, который позволяет подменять IP-адрес для отдельных имен хостов.

Шаг 3. Обновление продуктивной системы

Обновление системы выполняется через замену образа.

Любые нестандартные настройки, выполненные после инсталляции рабочей системы, необходимо восстанавливать вручную. Процесс обновления заключается в замене корневого раздела рабочей системы новым:

  1. На тестовой виртуальной машине выполните следующие действия:

    1.1. Замените IP-адрес системы на боевой IP-адрес в сетевых настройках ОС. Как правило, это файлы ifcfg-*, route-* в каталоге /etc/sysconfig/network-scripts/.

    1.2. Замените внешний IP-адрес в конфигурационных файлах сервисов:

    sed -i 's/IP_внешний_адрес_тестовой_ВМ/IP_внешний_адрес_боевой_ВМ/g' /usr/local/etc/*.conf /usr/local/etc/*.yaml
    
  2. Остановите тестовую машину.

  3. Скопируйте root-раздел от тестовой машины в продуктовый (туда, где работает продуктовая инсталляция).

  4. Остановите боевую машину.

  5. Подключите копию root-раздела от тестовой машины к боевой.

  6. Проверьте /usr/local/etc/premsetup/defaults.yaml на ошибки (команда не вносит изменения в настройки системы):

    im_deployer -t  
    
  7. При отсутствии ошибок в предыдущих пунктах выполните:

    im_deployer -u
    
  8. Перезагрузите систему на боевой машине:

    reboot
    

Система готова к работе.

Обновление VK Teams без использования тестовой виртуальной машины

Для обновления VK Teams без использования тестовой виртуальной машины необходимо выполнить шаги, представленные ниже.

Примечание

Все команды в консоли выполняются под пользователем root.

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

  1. Распакуйте из OVA-файла образ root-диска в формате .vmdk.
  2. Составьте и сохраните список нестандартных настроек, выполненных без применения команды im_deployer --install. Это настройки, которые выполнялись вручную и не могут быть выполнены при инсталляции, например, особые настройки S3 или LDAP. Их нужно будет выполнить повторно вручную после обновления системы.
  3. На виртуальной машине создайте бэкап конфигурационного файла сети в разделе data:

    cp /etc/sysconfig/network-scripts/ifcfg-eth0 /mnt/data/myteam.backup/etc/sysconfig/network-scripts/ 
    
  4. Создайте копию конфигурационных файлов VK Teams в разделе data виртуальной машины, запустив скрипт подготовки к обновлению:

    pre-upgrade.sh 
    
  5. Если у вас настроена интеграция с Почтой VK WorkSpace, при обновлении VK Teams до версии 23.10 и выше необходимо добавить query-параметр wv=1 в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json.

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

    • servicesconfigmailurl

    • servicesconfigmailcompose_url

    "services": {
        "config": {
            ...
            "mail": {
                "url": "https://e.yourmaildomain.ru/api/v1/user/webauth/vkteams?wv=1",
                "compose_url": "https://e.<your_mail_domain>.ru/compose/?wv=1",
                ...
            }
    

    Внимание

    Параметр wv=1 должен быть добавлен в /usr/local/nginx-im/html/myteam/myteam-config.json до того, как клиентские приложения будут обновлены до версии 23.10 и выше. Иначе почта в клиентском приложении будет работать некорректно.

Обновление

  1. Остановите виртуальную машину и сделайте снапшот.

  2. В настройках виртуальной машины отключите диск с root-разделом.

  3. Подключите диск с root-разделом новой версии в формате .vmdk.

  4. Запустите виртуальную машину.

  5. Восстановите конфигурационный файл сети из бэкапа:

    cp /mnt/data/myteam.backup/etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0
    
  6. Перезапустите сетевую службу:

    systemctl restart network 
    
  7. Проверьте корректность внешнего IP-адреса виртуальной машины в интерфейсе:

    ifconfig eth0
    
  8. Восстановите конфигурационные файлы VK Teams из бэкапа:

    im_deployer -r 
    
  9. Произведите инициализацию сервисов VK Teams:

    im_deployer --init 
    
  10. Проверьте конфигурационный файл инсталляции /usr/local/etc/premsetup/defaults.yaml на ошибки:

    im_deployer -t
    
  11. При отсутствии ошибок в предыдущих пунктах выполните:

    im_deployer -u  
    
  12. Перезагрузите виртуальную машину:

    reboot
    

Система готова к работе.