Установка и удаление агента сервиса «Управление ПО» с помощью Ansible

«Управление ПО» — сервис, который позволяет через агента управлять программным обеспечением внутри хоста — виртуальной машины или физического сервера.

Чтобы подключить хосты к сервису «Управление ПО», нужно установить на них агент, а чтобы отключить от сервиса — удалить агент и снять хост с регистрации в личном кабинете.

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

Перед началом работы

Убедитесь, что хосты соответствуют следующим требованиям:

Назначьте роль vmmanager.admin пользователю или сервисному аккаунту, который будет управлять программным обеспечением на хостах и просматривать их данные.

Сгенерируйте ключ доступа — персональный или для сервисного аккаунта. С помощью ключа доступа данные с хостов будут передаваться в личный кабинет.

Проверьте сетевое соединение между хостами и следующими сервисами:

Порядок действий

  1. Установите роль vmmanager с помощью утилиты ansible-galaxy:

    ansible-galaxy role install --roles-path . https://vmmanager-osconfig.api.cloud.ru/ansible/vmmanager.tar.gz 
    
  2. (Опционально) Создайте плейбук согласно документации Ansible. Шаг можно пропустить, если вы добавляете роль в существующий плейбук.

  3. В плейбуке включите выполнение команд от имени суперпользователя (root), указав:

    become: true
    
  4. Добавьте роль в плейбук. Для этого укажите 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_url URI системы Identity and Access Management https://id.cloud.ru.
    vmmanager_console_url URI личного кабинета https://console.cloud.ru.
    vmmanager_project_id ID проекта, из которого нужно управлять подключаемыми хостами. Представляет собой UUID версии 4.
    Чтобы узнать ID проекта:
    1. Войдите в личный кабинет Cloud.ru.
    2. В верхней панели меню раскройте список всех проектов.
    3. В строке с проектом нажмите картинка с изображением трех вертикальных точек и выберите Скопировать ID проекта.
    ID будет скопирован в буфер обмена.
    vmmanager_client_id Key ID (логин) ключа доступа для аутентификации в API Cloud.ru.
    vmmanager_client_secret Key Secret (пароль) ключа доступа для аутентификации в API Cloud.ru.
    (Опционально) vmmanager_agent_additional_opts Дополнительные опции запуска агента на хосте.
    Если заполнить параметр следующим образом:
    instance:
      attributes:
        osconfig-disabled-features: "tasks",
    программное обеспечение на хосте будет инвентаризироваться, но обновлять ПО и применять политики будет нельзя.
    (Опционально) vmmanager_reset_host Параметр, позволяющий сбросить настройки сервиса «Управление ПО» на хосте. По умолчанию параметр принимает значение false. Если выставить значение в true, агент и конфигурационные файлы будут удалены с хоста, хост будет снят с регистрации в личном кабинете.
  5. Запустите плейбук:

    ansible-playbook -i inventory.yml example-playbook.yml
    

Результат

После установки агента сервиса «Управление ПО» на хосты вы сможете управлять ими из личного кабинета — для этого переключитесь на нужный проект и перейдите в сервис «Управление ПО».

Если было выполнено удаление агента с параметром vmmanager_reset_host, выставленным в false, агент и конфигурационные файлы будут удалены с хостов, хосты будут сняты с регистрации в личном кабинете.