Product SiteDocumentation Site

Глава 45. Fleet Commander

45.1. Установка и настройка Fleet Commander
45.1.1. Настройка libvirt-хоста
45.1.2. Установка и настройка Fleet Commander Admin
45.1.3. Настройка шаблона
45.1.4. Установка и настройка Fleet Commander Client
45.2. Использование Fleet Commander
45.3. Устранение неполадок Fleet Commander
Fleet Commander — это инструмент для управления и развертывания профилей в большой сети пользователей и рабочих станций.
Fleet Commander состоит из трех компонентов:
  • плагин FreeIPA, который позволяет хранить политики на контроллере домена;
  • плагин Cockpit, предоставляющий веб-интерфейс для администрирования;
  • служба на стороне клиента, применяющая политики.
Fleet Commander использует libvirt и KVM для запуска сеанса виртуального рабочего стола, где пользователь в реальном времени может редактировать конфигурацию приложений в системе шаблонов. Данная конфигурация затем будет применена на клиентах.

45.1. Установка и настройка Fleet Commander

45.1.1. Настройка libvirt-хоста

В качестве libvirt-хоста может выступать как отдельная машина, так и машина с Fleet Commander Admin.
Установить libvirt:
# apt-get install libvirt-kvm virt-install
Добавить службу libvirtd в автозапуск и запустить её:
# systemctl enable --now libvirtd.service
Проверить, что default сеть определена, запущена и автозапускаемая:
# virsh net-list --all
 Имя       Статус    Автозапуск   Persistent
 ----------------------------------------------
 default   активен   yes          yes

Примечание

Определить сеть default, если она не определена:
# virsh net-define /etc/libvirt/qemu/networks/default.xml
Отметить default сеть как автозапускаемую:
# virsh net-autostart default
Запустить default сеть:
# virsh net-start default

Примечание

В Альт Сервер по умолчанию отключена парольная аутентификация для root в sshd, поэтому если есть необходимость использовать привилегированного пользователя libvirt-хоста, то следует разрешить root-доступ по ssh. Включить парольную аутентификацию для root можно с помощью control (должен быть установлен пакет control-sshd-permit-root-login):
# control sshd-permit-root-login enabled
и перезагрузить ssh-сервер:
# systemctl restart sshd.service
После того как ключ будет скопирован, рекомендуется отключить парольную аутентификацию:
# control sshd-permit-root-login disabled
# systemctl restart sshd.service
Шаблон это виртуальная машина с запущенным на ней Fleet Commander Logger. Шаблон запускается на «админ» машине в live-сессии. Регистратор (логгер) отслеживает сделанные изменения в шаблоне и сохраняет их.
Для настройки новой виртуальной машины шаблонов, достаточно создать виртуальную машину (ВМ) внутри гипервизора libvirt/KVM, запустить её и установить на этой template-машине Fleet Commander Logger. Регистратор будет автоматически запускаться после входа в систему.
Установка ОС на libvirt домен:
  • Запустить домен, например:
    # virt-install --name alt \
    --ram 4096 --cpu kvm64 --vcpus 2 \
    --disk pool=default,size=20,bus=virtio,format=qcow2 \
    --network network=default --graphics spice,listen=127.0.0.1,password=test \
    --cdrom /var/lib/libvirt/images/alt-workstation-10.0-x86_64.iso --os-variant=alt10.0
    
  • Подключиться к ВМ и произвести установку ОС (на хосте, с которого происходит подключение, должен быть установлен пакет virt-viewer):
    $ virt-viewer --connect qemu+ssh://user@192.168.0.190/system
    
  • После окончания установки ОС, установить на ВМ Fleet Commander Logger:
    # apt-get install fleet-commander-logger
    

Примечание

ВМ, которую планируется использовать как шаблон, должна быть выключена, иначе Fleet Commander не позволит запустить live-сессию на этой машине.

45.1.2. Установка и настройка Fleet Commander Admin

Предварительно необходимо установить и настроить FreeIPA сервер, с созданием домашнего каталога (опция --mkhomedir).
Установить пакет freeipa-desktop-profile:
# apt-get install freeipa-desktop-profile
...
Perform the IPA upgrade. This may take a while.
The IPA upgrade was successful.
Завершено.

Примечание

Пакет freeipa-desktop-profile не входит в состав ISO-образа дистрибутива, его можно установить из репозитория p10. О добавлении репозиториев с использованием графических приложений вы можете почитать в разделе Добавление репозиториев.
Проверить, что плагин работает:
# kinit admin
Password for admin@EXAMPLE.TEST:
# ipa deskprofileconfig-show
  Priority of profile application: 1

Примечание

Если на выходе команды ipa deskprofileconfig-show появляется ошибка:
ipa: ERROR: неизвестная команда "deskprofileconfig-show"
необходимо почистить кэш текущему пользователю и повторить команду:
# rm -rf ~/.cache/ipa
# ipa deskprofileconfig-show
  Priority of profile application: 1
Установить Fleet Commander плагин для Cockpit (из репозитория):
# apt-get install fleet-commander-admin

Примечание

Пакет fleet-commander-admin не входит в состав ISO-образа дистрибутива, его можно установить из репозитория p10. О добавлении репозиториев с использованием графических приложений вы можете почитать в разделе Добавление репозиториев.
Добавить сервис Cockpit в автозапуск и запустить его:
# systemctl enable --now cockpit.socket
Веб-интерфейс Cockpit будет доступен по адресу https://адрес-сервера:9090/:
Веб-интерфейс Cockpit
Вход осуществляется по логину указанному при установке FreeIPA сервера.
Для доступа к настройке Fleet Commander следует выбрать соответствующую кнопку на левой панели веб-интерфейса.
Вкладка Fleet Commander
При первом запуске Fleet Commander необходимо настроить глобальную политику и информацию о хосте libvirt.

Примечание

Открыть окно настроек можно, нажав кнопку Settings на вкладке Fleet Commander.
Fleet Commander позволяет установить глобальную политику для определения того, как применять несколько профилей: к конкретному пользователю, к группе, к хосту, к группе хостов. По умолчанию это User-Group-Host-Hostgroup.
Для запуска live-сессии необходимо работающее ssh-соединение с libvirt-хостом. В форму настройки необходимо ввести следующие данные:
  • Fleet Commander virtual environment host — адрес libvirt-хоста (если в качестве libvirt-хоста используется FreeIPA сервер, то здесь необходимо указать адрес текущей машины или localhost);
  • Username for connection — имя пользователя libvirt-хоста (пользователь должен быть включён в группу vmusers);
  • Libvirt mode — если пользователь не является привилегированным, то следует переключить данную настройку в режим сеанса.
Окно настроек Fleet Commander
Fleet Commander генерирует свой собственный открытый ключ, который необходимо добавить в .ssh/authorized_keys для соответствующего пользователя на libvirt-хосте. Это можно сделать, нажав кнопку Install public key (Установить открытый ключ), при этом будет необходимо ввести пароль пользователя. Пароль используется только для установки ключа и нигде не хранится.
Fleet Commander. Пароль для установки ключа

Примечание

На хосте libvirt, должен быть запущен SSH-сервер (служба sshd).

45.1.2.1. Работа с профилями

После настройки Fleet Commander Admin необходимо создать и настроить профиль. Для создания профиля нажать кнопку Add Profile на вкладке Fleet Commander. Появится форма настройки профиля:
Fleet Commander. Создание профиля
Форма настройки профиля содержит следующие поля:
  • Name — имя профиля;
  • Description — описание профиля;
  • Priority — приоритет профиля;
  • Users — пользователи, к которым будет применен профиль;
  • Groups — группы, к которым будет применен профиль;
  • Hosts — хосты, к которым будет применен профиль;
  • Host groups — группы хостов, к которым будет применен профиль.
Если не указан ни один хост или группа хостов, то профиль будет применен к каждому хосту состоящему в домене.

45.1.3. Настройка шаблона

Для настройки шаблона в веб-интерфейсе Cockpit необходимо нажать кнопку Edit напротив нужного профиля:
Fleet Commander. Редактирование профиля
и в открывшемся окне нажать кнопку Live session:
Fleet Commander. Кнопка Live session
В появившейся форме будет выведен список доступных шаблонов. При выборе шаблона, он начнет загружаться.

45.1.4. Установка и настройка Fleet Commander Client

Клиентская машина должна быть введена в домен (см. соответствующий раздел). Также должны быть созданы доменные пользователи.
Установить необходимый пакет (из репозитория):
# apt-get install fleet-commander-client
Клиент будет запускаться автоматически, при входе в домен с поддержкой Fleet Commander, и будет настраивать конфигурацию, которая применима к данному пользователю.