Централизованное обновление компонентов Space VDI
Инструкция для централизованного обновления следующих компонентов Space VDI при помощи Ansible на узлах с ОС Astra Linux SE 1.7.5, ОС Astra Linux SE 1.8.2.
-
Space Agent VM (qemu-guest-agent).
-
Space Agent VDI.
-
Space Client.
Внимание
Функционал для централизованного обновления компонентов Space VDI является экспериментальным.
При возникновении ошибок рекомендуется обратиться к Авторизованному Центру Технической Поддержки производителя или ознакомиться с уже зарегистрированными запросами на платформе Space Bugzilla.
Центр предоставляет поддержку по вопросам установки, настройки и функционирования продуктов экосистемы Space.
Подготовка инфраструктуры к обновлению
-
Установить Ansible не ниже версии 2.17.0 в соответствии с документацией производителя.
-
Распространить ssh-ключ на все требуемые узлы с ОС Astra Linux SE 1.7.5, ОС Astra Linux SE 1.8.2 для входа под учетной записью с правами администратора.
Один из рекомендуемых способов распространения ssh-ключа на ВМ — использование cloud-init и настройка аутентификации по ключу на всех подконтрольных узлах.
-
На узле с установленным Ansible создать директорию для расположения проекта по обновлению компонентов:
mkdir ~/update-space-components && cd update-space-components
В данной директории расположить все заранее скачанные файлы.
-
Заполнить файл hosts.ini адресами узлов с ОС Astra Linux SE 1.7.5, ОС Astra Linux SE 1.8.2 и требующими обновления компонентов.
Пример файла hosts.ini
* [astra] – узлы с ОС Astra Linux.[astra] astra1 ansible_host=10.251.30.101 astra2 ansible_host=10.251.30.102 astra3 ansible_host=10.251.30.103 astra4 ansible_host=10.251.30.104 astra5 ansible_host=10.251.30.105 astra6 ansible_host=10.251.30.106 [astra:vars] ansible_python_interpreter=auto_silent ansible_user=test ansible_ssh_private_key_file=~/.ssh/id_ed25519 [redos] redos1 ansible_host=10.251.30.111 redos2 ansible_host=10.251.30.112 redos3 ansible_host=10.251.30.113 redos4 ansible_host=10.251.30.114 redos5 ansible_host=10.251.30.115 redos6 ansible_host=10.251.30.116 [redos:vars] ansible_python_interpreter=auto_silent ansible_user=test ansible_ssh_private_key_file=~/.ssh/id_ed25519 [spaceagentpc] astra1 ansible_host=10.251.30.101 redos1 ansible_host=10.251.30.111 [spaceagentpc:vars] install_option=space-agent-pc disp_address= disp_port= token= [streamingserver] astra2 ansible_host=10.251.30.102 redos2 ansible_host=10.251.30.112 [streamingserver:vars] install_option=space-streaming-server [usbip] astra3 ansible_host=10.251.30.103 redos3 ansible_host=10.251.30.113 [usbip:vars] install_option=space-usbip-daemon [glint] astra4 ansible_host=10.251.30.104 redos4 ansible_host=10.251.30.114 [glint:vars] install_option=glint-launcher pdp_label= [mediapipe] astra5 ansible_host=10.251.30.105 redos5 ansible_host=10.251.30.115 [mediapipe:vars] install_option=mediapipe-server [spaceclient] astra6 ansible_host=10.251.30.106 redos6 ansible_host=10.251.30.116
* [spaceagentpc] – узлы, на которых необходимо обновить space-agent-pc.
* [usbip] – узлы, на которых необходимо обновить space-usbip-daemon.
* [glint] – узлы, на которых необходимо обновить glint-launcher.
* [mediapipe] – узлы, на которых необходимо обновить mediapipe-server.
* [spaceclient] – узлы, на которых необходимо обновить spaceclient.
* [multi:children] – группа, объединяющая [astra] и [redos].
* [astra:vars] и [redos:vars] – блоки с переменными для групп [astra] и [redos], т.е. для всех узлов.
* Для блоков [spaceagentpc:vars] и [glint:vars] необходимо указать значения для переменныхdisp_address
,disp_port
,token
иpdp_label
. -
Проверить корректность выполнения ansible на узлах командой:
ansible all -m ping
Пример вывода команды
ansible-astra3 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3.7" }, "changed": false, "ping": "pong" }
Для модуля ping должен быть подобный вывод pong на всех узлах.
-
Разместить образы (обновление) компонентов Space Agent VM (qemu-guest-agent) и Space Agent VDI на локальном ресурсе и сформировать URL на скачивание образов.
Процесс обновления
Базовые инструменты Ansible
- При обновлении компонентов Space VDI используются плейбуки Ansible со стандартным расширением
.yml
. - Для запроса архива с необходимыми плейбуками рекомендуется обратиться к Авторизованному Центру Технической Поддержки производителя.
Обновление Space Agent VM (qemu-guest-agent)
-
Выполнить команду:
ansible-playbook update-agentvm.yml -K
-
Ввести пароль администратора для пользователя.
-
Указать группу узлов для обновления компонента.
-
Указать метод установки
qemu-guest-agent
. При использованииonline
установки qemu-guest-agent будет установлен из репозиториев, указанных в гостевой ОС. -
Для метода установки
offline
необходимо вставить ссылку на скачивание образа space-agent-vm.
Обновление Space Agent VDI
-
Выполнить команду:
ansible-playbook update-agent-vdi.yml -K
-
Ввести пароль администратора для пользователя.
-
Вставить ссылку на скачивание образа space-agent-vdi.
-
Указать группу узлов для обновления компонента.
Примечание
Если указана группа с конкретным компонентом, например glint или spaceagentpc, то все дальнейшие пункты необходимо пропустить нажатием Enter.
-
Указать компонент для обновления.
-
Указать адрес Space Disp для space-agent-pc.
-
Указать порт Space Disp для space-agent-pc.
-
Указать токен для space-agent-pc.
-
Указать опции PDPLabel для glint-launcher.
Обновление Space Client
-
Выполнить команду:
ansible-playbook update-space-client.yml -K
-
Ввести пароль администратора для пользователя.
-
Указать группу узлов для обновления компонента.