Установка и удаление агента сервиса «Управление ПО» с помощью Ansible
«Управление ПО» — сервис, который позволяет через агента управлять программным обеспечением внутри хоста — виртуальной машины или физического сервера.
Чтобы подключить хосты к сервису «Управление ПО», нужно установить на них агент, а чтобы отключить от сервиса — удалить агент и снять хост с регистрации в личном кабинете.
С помощью Ansible можно управлять агентом сразу на нескольких хостах. Порядок действий будет одинаковым для установки и удаления агента, отличаются только значения переменных роли.
Перед началом работы
Убедитесь, что хосты соответствуют следующим требованиям:
- Операционная система: дистрибутив Windows Server 2016 или выше, дистрибутив Linux, основанный на Deb или RPM.
- Пакетный менеджер: googet (для Windows), YUM или APT.
Назначьте роль vmmanager.admin пользователю или сервисному аккаунту, который будет управлять программным обеспечением на хостах и просматривать их данные.
Сгенерируйте ключ доступа — персональный или для сервисного аккаунта. С помощью ключа доступа данные с хостов будут передаваться в личный кабинет.
Проверьте сетевое соединение между хостами и следующими сервисами:
- Личным кабинетом https://console.cloud.ru.
- Системой Identity and Access Management https://id.cloud.ru.
- Репозиторием, откуда будет скачан агент https://vmmanager-osconfig.api.cloud.ru
Порядок действий
-
Установите роль
vmmanagerс помощью утилитыansible-galaxy:ansible-galaxy role install --roles-path . https://vmmanager-osconfig.api.cloud.ru/ansible/vmmanager.tar.gz -
(Опционально) Создайте плейбук согласно документации Ansible. Шаг можно пропустить, если вы добавляете роль в существующий плейбук.
-
В плейбуке включите выполнение команд от имени суперпользователя (root), указав:
become: true -
Добавьте роль в плейбук. Для этого укажите
vmmanagerв спискеrolesи определите переменные роли.Пример плейбука:
- name: Install VM Agent example hosts: all become: true roles: - role: vmmanager vars: vmmanager_iam_url: "https://id.cloud.ru" vmmanager_console_url: "https://console.cloud.ru" vmmanager_project_id: 'f02f856a-735b-4de0-9cc6-6cb26c000000' vmmanager_client_id: 'b0bc96f777605af13e2c5f266666666' vmmanager_client_secret: '8b47152b88881cfdd40e4f3f42b88888' ## optional variables # vmmanager_agent_additional_opts: # instance: # attributes: # osconfig-disabled-features: "tasks" # vmmanager_reset_host: `false`Переменные роли, которые определяют настройку, указаны в таблице:
Переменная Описание vmmanager_iam_urlURI системы Identity and Access Management https://id.cloud.ru. vmmanager_console_urlURI личного кабинета https://console.cloud.ru. vmmanager_project_idID проекта, из которого нужно управлять подключаемыми хостами. Представляет собой UUID версии 4.
Чтобы узнать ID проекта:
1. Войдите в личный кабинет Cloud.ru.
2. В верхней панели меню раскройте список всех проектов.
3. В строке с проектом нажмитеи выберите Скопировать ID проекта.
ID будет скопирован в буфер обмена.vmmanager_client_idKey ID (логин) ключа доступа для аутентификации в API Cloud.ru. vmmanager_client_secretKey Secret (пароль) ключа доступа для аутентификации в API Cloud.ru. (Опционально) vmmanager_agent_additional_optsДополнительные опции запуска агента на хосте.
Если заполнить параметр следующим образом:instance:
attributes:
osconfig-disabled-features: "tasks",
программное обеспечение на хосте будет инвентаризироваться, но обновлять ПО и применять политики будет нельзя.(Опционально) vmmanager_reset_hostПараметр, позволяющий сбросить настройки сервиса «Управление ПО» на хосте. По умолчанию параметр принимает значение false. Если выставить значение вtrue, агент и конфигурационные файлы будут удалены с хоста, хост будет снят с регистрации в личном кабинете. -
Запустите плейбук:
ansible-playbook -i inventory.yml example-playbook.yml
Результат
После установки агента сервиса «Управление ПО» на хосты вы сможете управлять ими из личного кабинета — для этого переключитесь на нужный проект и перейдите в сервис «Управление ПО».
Если было выполнено удаление агента с параметром vmmanager_reset_host, выставленным в false, агент и конфигурационные файлы будут удалены с хостов, хосты будут сняты с регистрации в личном кабинете.