В инструкции описана установка обновлений Мессенджера 26.3 для standalone и распределенной инсталляции.
Документ предназначен для использования администраторами организации.
Обновиться до версии 26.3 можно только с версии 26.2. Начиная с версии 25.4 нельзя пропускать версии при обновлении.
Если последнее обновление Мессенджера проводилось более трех версий назад, свяжитесь с технической поддержкой для помощи с обновлением.
Если у вас настроена интеграция с Почтой VK WorkSpace:
-
Сначала обновите Почту до версии 26.2.3 по инструкции:
-
Далее обновите Почту до версии 26.3 по инструкции:
-
После этого обновите Мессенджер до версии 26.3.
Информацию о совместимости версий Почты и Мессенджера вы найдете в статье.
- Знание Linux на уровне системного администратора.
- Знание основ систем управления базами данных (СУБД).
- Знание основ работы служб каталогов (Directory Service).
- Понимание основ контейнеризации.
- Знание основ работы сетей и сетевых протоколов.
- Знание основных инструментов для работы в командной строке: bash, awk, sed.
Представители VK предоставили вам следующие данные:
- Ссылку на скачивание дистрибутива новой версии Мессенджера и файл с хеш-суммой.
- Пароль от архива с дистрибутивом.
- Лицензионный ключ.
- Комплект документации.
Также вам понадобится:
- Доступ к портам: 22, 80, 443.
- Доступ по порту 5050/TCP с виртуальной машины Мессенджера до виртуальной машины с регистри.
- Утилита для распаковки zip-архивов, например 7-Zip или Unzip.
Проверьте дисковое пространство:
- На разделах, выделенных для хранения данных должно быть свободно более 15% дискового пространства.
- На всех остальных разделах должно быть занято не более 10% дискового пространства.
Вместе с архивом дистрибутива предоставляется файл с хеш-суммой. Он нужен, чтобы убедиться, что архив скачался полностью и не был поврежден при передаче. Чтобы проверить целостность архива:
-
Перейдите в каталог, в который скачали архив.
-
Вычислите хеш-сумму архива:
md5sum <имя_архива> -
Сравните полученное значение с хеш-суммой из файла, полученного вместе с дистрибутивом.
Если значения совпадают, архив скачан корректно — можно переходить к распаковке.
-
Поместите архив deployer.tar с дистрибутивом новой версии в тот же каталог, который использовался при первичной установке. То есть туда же, где находится файл-установщик onpremise-deployer_linux.
-
Распакуйте архив под той же учетной записью поверх имеющегося дистрибутива с заменой всех изменившихся файлов:
tar -xf deployer.tar -
Проверьте, есть ли у файла onpremise-deployer_linux флаг на выполнение (x):
ls -la <путь к каталогу с файлом>Если прав на выполнение нет, сделайте файл исполняемым:
chmod +x onpremise-deployer_linux -
Распакуйте архив со статическими файлами:
tar -xf static.tar.gz -C <путь до каталога, где находится файл onpremise-deployer_linux>/static/ -
Скопируйте архив Docker-репозитория:
cp registry/mail/dockerRepo.tar <путь до каталога, где находится файл onpremise-deployer_linux>/source/ -
Выполните команду:
sudo systemctl restart deployer -
Перейдите в веб-интерфейс установщика по адресу
http://<ваш домен>:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен.Если веб-интерфейс не открывается, проверьте журналы:
journalctl -u deployerИ убедитесь, что порт 8888 слушают:
ss -lanp|grep :8888
-
В правом верхнем углу нажмите на значок i → Продукты.
-
В разделе Мессенджер включите флаги:
- Внутренний репозиторий.
- Внутреннее хранилище образов контейнеров и helm чартов и Включить TLS.
-
Нажмите на кнопку Сохранить.
Подключитесь к виртуальной машине с регистри.
В домашнем каталоге пользователя deployer (/home/deployer) находится файл computes.yaml. Его содержимое имеет следующий вид:
- role: hypervisorhostname: hypervisor1ip: 100.69.66.89port: 22userName: deployerprivateKey: defaultfacts:netinterfaces:- name: ens3ip: 100.69.66.89mask: 22s2SNet: true- name: ciliumip: 10.32.0.6mask: 32osversion: "7.3"homedir: /home/deployer/hostname: main-vktosname: redospackagemanager: dnfcomposecommand: ""fullcomposecommand: ""kubernetesfacts: nullhuman_name: main-vkttags:- vkteams- standartzone: ""labels:DC:- vkTeamsgroup:- raftpair:- "01"project:- vkteamsserver:- control-planeside:- a
Найдите гипервизор с регистри и добавьте для него метку registry-vkt со значением true в секции labels:
registry-vkt:- true
Сохраните изменения.
Перезапустите установщик командой:
sudo systemctl restart deployer.service
В браузере обновите страницу и проверьте, что метка добавилась.
Перейдите на главную страницу установщика. В разделе VK Workspace нажмите на запуск всех шагов для гипервизора с регистри.
Для обновления Мессенджера должны быть добавлены плейбуки:
- ansible-vkteams-update_packages
- ansible-vkteams-cluster
- ansible-vkteams-puppet_modules
- ansible-post-upgrade
Перейдите на главную страницу установщика и проверьте, что плейбуки добавлены. Если какого-то плейбука не хватает, добавьте его:
-
Нажмите Добавить → Несколько Ansible Playbook:
-
Выберите роль.
-
Для standalone-установки выберите гипервизор под Мессенджер. Режим генерации — На одном из серверов. Нажмите на кнопку Добавить:
-
Для распределенной инсталляции:
При добавлении роли ansible-vkteams-cluster важна последовательность выбора гипервизоров — сначала установите галку напротив любого гипервизора с меткой group = raft, далее выберите остальные гипервизоры, на которых будет развернут Мессенджер. Режим генерации — На одном из серверов. Нажмите на кнопку Добавить.
При добавлении других ролей последовательность выбора гипервизоров не важна — выберите все гипервизоры, на которых будет развернут Мессенджер. Режим генерации — На одном из серверов. Нажмите на кнопку Добавить.
-
Добавленная роль отобразится в разделе VK WorkSpace. Нажмите на кнопку запуска добавленной роли (синяя стрелка напротив добавленной роли).
Если была нарушена последовательность выбора гипервизоров, роль ansible-vkteams-cluster упадет с ошибкой. В логах сервиса deployer будет строчка:
ERROR: [PLAY STEP][START] Something happened while handling step {compute_hostname=ansible-vkteams-cluster1},{step_name=add_ext_k8s_k3s},{error=cat not get kubeConf: rancher/k3s/k3s.yaml not found. error: file does not exist},{elapsed=1.596187113s},{error=cat not get kubeConf: rancher/k3s/k3s.yaml not found. error: file does not exist}
Для устранения проблемы перейдите в файл computes.yaml, который находится в домашнем каталоге пользователя deployer (/home/deployer). Найдите секцию ansibleParams, она будет выглядеть следующим образом:
- ansibleParams:fileName: projects/vkteams/ansible/cluster/playbook.yamlinventory:- hypervisor5- hypervisor4- hypervisor3- hypervisor2playbookName: clusterhostname: ansible-vkteams-cluster1hypervisor: hypervisor5role: ansible-vkteams-clusterzone: ''
Приведите ее к следующему виду:
- ansibleParams:fileName: projects/vkteams/ansible/cluster/playbook.yamlinventory:- hypervisor2 # указать первым гипервизор с group=raft- hypervisor4- hypervisor3- hypervisor5 # прошлый первый элемент сохранить в спискеplaybookName: clusterhostname: ansible-vkteams-cluster1hypervisor: hypervisor5role: ansible-vkteams-clusterzone: ''
Сохраните изменения.
Перезапустите установщик командой:
sudo systemctl restart deployer.service
В браузере обновите страницу и перейдите на главную страницу установщика. В разделе VK WorkSpace нажмите на кнопку запуска ansible-vkteams-cluster (синяя стрелка напротив роли).
-
Нажмите на логотип в левом верхнем углу веб-интерфейса. На главной странице нажмите на кнопку Добавить → Распределение продуктов Helm:

-
Выберите кластер. Namespace можно не заполнять. Нажмите на кнопку Сохранить:

-
Нажмите на логотип в левом верхнем углу веб-интерфейса, чтобы перейти к общей строке состояния.
-
Запустите автоматическую установку — нажмите на кнопку Play рядом с общей строкой состояния в верхней части экрана:
-
Подтвердите запуск автоматической установки, нажав на кнопку Запустить. Перед запуском автоматической установки оставьте включенными все проверки.
В зависимости от этапа обновления будет меняться цвет индикатора:
- Серый — в ожидании начала генерации;
- Синий — в процессе генерации;
- Желтый — шаг будет повторен (автоматически);
- Красный — ошибка.
Ожидайте завершения обновления. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop. Дождитесь завершения обновления Мессенджера.
Если в процессе обновления и настройки системы происходят изменения конфигурации, некоторые задачи могут потребовать повторного выполнения. Для повторного запуска необходимо нажать на кнопку Play в общей строке состояния в верхней части экрана или рядом с названием конкретного контейнера.
Когда обновление будет завершено, соответствующий статус отобразится в строке состояния.
По прошествии 15 минут подключитесь по SSH и выполните следующие проверки инсталляции:
-
Правильность версии релиза:
cat /etc/myteam-release -
Состояние служб:
systemctl status | grep '^ *State:'Если в выводе есть статус «degraded», то список служб, которые завершились с ошибкой, можно посмотреть при помощи команды:
systemctl --all --failed -
Готовность сервисов Мессенджера:
ic srvsВсе сервисы должны находиться в состоянии alive.
Если в инсталляции нет Почты VK WorkSpace, сервис swaflow находится в состояние dead. Это нормальное поведение системы и никак не влияет на работу Мессенджера и ВКС.
-
Состояние подов Kubernetes:
kubectl get pods -AВсе сервисы должны быть в состоянии Running.
-
Понаблюдайте за нагрузкой CPU и памяти при помощи утилиты K9s.
Также выполните проверки функциональностей Мессенджера и ВКС. Рекомендуется проводить тест при помощи разных типов клиентов, например веб- и десктоп-клиентов.
-
Базовые функциональности:
- Возможность залогиниться в учетной записи.
- Отправить/получить текстовое сообщение с одного клиента на другой и обратно. Убедиться, что сообщения пришли.
- Удалить отправленные сообщения у себя и у всех. Убедиться, что сообщения успешно удаляются.
- Отправить/получить фото/видео/gif с одного клиента на другой и обратно. Проверить, что есть превью.
- Отправить/получить голосовое сообщение с одного клиента на другой и обратно. Убедиться, что запись полноценная и хорошего качества.
- Открыть витрину стикеров, открыть стикерпак. Убедиться, что все отображается корректно.
- Отправить/получить стикер с одного клиента на другой и обратно. Убедиться, что у стикера есть превью.
- Открыть собственный профиль и профиль другого пользователя.
-
Группы:
- Создать группу/канал.
- Добавить пользователя в канал.
- Отправить/получить несколько сообщений, которые содержат стикеры и файлы. Убедиться, что сообщения доходят до всех участников.
- Заблокировать/разблокировать участника.
- Закрепить сообщение.
- Удалить пользователя.
- Удалить группу/канал.
-
Звонки:
- Позвонить пользователю. Добавить еще одного пользователя в звонок.
- Создать ссылку на звонок, перейти в звонок по ссылке.
- Проверить работу длительных звонков (около 5 минут).
-
Статусы:
- Поставить/удалить статусы.
Если у вас настроена интеграция с Почтой VK WorkSpace, проверьте настройки для отображения сервисов Почты, Диска и Календаря в клиентском приложении в соответствии с шагами 4 и 5 инструкции https://biz.mail.ru/docs/on-premises/vk-teams/mail-integration/index.html#10-vk-teams