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

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

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

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

Обновить мессенджер возможно двумя способами:

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

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

Внимание

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

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

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

Внимание

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

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

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

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

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

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

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

    • services --> config --> mail --> url

    • services --> config --> mail --> compose_url

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

    Внимание

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

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

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

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

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

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

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

  5. Восстановите default.yaml:

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

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

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

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

    premsetup.py -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. Проверьте defaults.yaml на ошибки (команда не вносит изменения в настройки системы):

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

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

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

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

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

Внимание

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

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

  1. Распакуйте из OVA-файла образ root-диска в формате .vmdk.
  2. Составьте и сохраните список нестандартных настроек, выполненных без применения premsetup.py --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 WorkMail, при обновлении мессенджера до версии 23.10 и выше необходимо добавить query-параметр wv=1 в myteam-config.json. Расположение конфигурационного файла /usr/local/nginx-im/html/myteam/myteam-config.json.

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

    • services --> config --> mail --> url

    • services --> config --> mail --> compose_url

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

    Внимание

    Параметр wv=1 должен быть добавлен в mytem-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 из бэкапа:

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

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

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

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

    reboot
    




Дата обновления документа: 09.11.2023 г.