OpenUDS виртуализация Linux приложений

Материал из ALT Linux Wiki

OpenUDS позволяет разворачивать и управлять сеансами виртуализированных приложений Linux. Удалённый доступ обеспечивает X2Go. Доступ к сеансам приложений Linux может осуществляться из ОС Windows и Linux.

Пользователи могут запускать приложения на независимых ВМ, созданных в OpenUDS, на основе шаблона (машины, где эти приложения должны быть установлены). Если пользователь обращается к нескольким приложениям, все эти приложения будут запущены на одном виртуальном рабочем столе, что позволяет значительно оптимизировать ресурсы.

Подготовка шаблона ВМ

Шаблон ВМ — машина, которую OpenUDS будет использовать в качестве базовой, для того чтобы развернуть виртуальные рабочие столы, на которых пользователи будут запускать виртуальные приложения.

Подготовка шаблона ВМ на основе ОС Альт:

  1. Установить ОС.
  2. Установить сервер X2Go:
    # apt-get update
    # apt-get install x2goserver
    # systemctl enable --now x2goserver
    
  3. Установить и зарегистрировать OpenUDS Actor (см. Подготовка шаблона ВМ).

Настройки на сервере OpenUDS

На сервере OpenUDS необходимо:

  1. Зарегистрировать «Service providers» для соответствующей платформы виртуализации (если его еще нет) и базовую службу, указав настроенный ранее шаблон ВМ (подробнее см. Регистрация «Service providers»).
  2. Зарегистрировать аутентификатор и создать пользователей (см. Настройка аутентификации пользователей).
  3. Создать «OS Manager» (пропустить этот пункт, если используется служба «Static IP Machine Provider»), выбрав в выпадающем списке пункт «Linux OS Manager»:
    OpenUDS. Настройка «OS Manager»
    При создании «OS Manager» рекомендуется в списке «Logout Action» выбрать пункт «Remove service». В этом случае, когда пользователь закрывает приложение, рабочий стол, на котором оно запущено автоматически удаляется. Также для развертывания приложений Linux можно использовать пункт «Keep service assigned».
    OpenUDS. Настройка «OS Manager» - «Logout Action»
  4. Создать «Transports» (можно создать столько «transports», сколько приложений должно быть опубликовано.):
    • в разделе «Transports» нажать кнопку «Новый» и выбрать пункт «X2Go direct»:
      OpenUDS. Настройка «Transports»
    • в открывшемся окне, на вкладке «Main» задать имя (желательно указать здесь имя приложения — это имя пользователь будет видеть, если в одном пуле ресурсов определено несколько «transports»):
      OpenUDS. Настройка «Transports» - вкладка «Main»
    • на вкладке «Credentials», указать учетную запись пользователя, который будет запускать приложение (этот пользователь должен существовать в шаблоне ВМ):
      OpenUDS. Настройка «Transports» - вкладка «Credentials»
    • на вкладке «Parameters», в раскрывающемся списке «Desktop» необходимо выбрать пункт «UDS vAPP», а в поле «vAPP» и указать полный путь к приложению (установленному на шаблоне ВМ):
      OpenUDS. Настройка «Transports» - вкладка «Parameters»
    • на вкладке «Advanced» можно указать раскладку клавиатуры, и в поле «Quality» определить качество изображения (0-9). По умолчанию 6.
      OpenUDS. Настройка «Transports» - вкладка «Advanced»
    • нажать кнопку «Save».
  5. Создать «Service Pools»:
    • на вкладке «Main» указать имя службы, в списке «Base service» выбрать созданную ранее службу, в списке «OS Manager» выбрать менеджер ОС.
    • на вкладке «Display» указать, в какой группе будет отображаться этот пул, и какое изображение будет использовать приложение (эти элементы создаются в разделе «Tools»).
      OpenUDS. Настройка «Service Pools» - вкладка «Display»
    • на вкладке «Availability» необходимо указать количество услуг, которые должны быть доступными для подключения пользователей (желательно иметь как можно больше «Maximim number of services to provide» или «Services to keep in cache»).
      OpenUDS. Настройка «Service Pools» - вкладка «Availability»
    • сохранить конфигурацию, нажав кнопку «Save».
  6. В настройках созданного пула:
    • на вкладке «Groups» указать какие группы пользователей будут иметь доступ к виртуальному приложению.
    • на вкладке «Transports» необходимо назначить ранее созданный транспорт X2Go (где был определен путь к виртуальному приложению):
      OpenUDS. Новый транспорт для «Service Pools»
    • на вкладке «Cache» (для платформ виртуализации — PVE, OpenNebula) убедиться, что автоматически сгенерированные рабочие столы настроены правильно.

Настройка клиента подключения

Если в качестве клиента выступает дистрибутив ОС «Альт»:

  • установить клиент OpenUDS (пакет openuds-client) и клиент X2Go (x2goclient):
    # apt-get update
    # apt-get install openuds-client
    # apt-get install x2goclient
    

Если в качестве клиента выступает ОС Windows:

  1. Загрузить клиент X2Go (https://wiki.X2Go.org/doku.php).
  2. Установить клиент X2Go.
  3. Скачать OpenUDS Client для компьютеров с ОС Windows (из панели управления OpenUDS Server или с https://github.com/altlinux/openuds-installers/releases).
  4. Установить OpenUDS Client (установка ничем не отличается от инсталляции большинства других программ в ОС Windows).

После установки клиента X2Go, рекомендуется проверить возможность подключения к серверу X2Go.

Доступ к приложениям Linux

Теперь можно получить доступ к виртуальным приложениям:

OpenUDS. Запуск приложения Gimp

Если для пула услуг («Service Pools») было назначено несколько видов «transports» (несколько приложений), то в правом верхнем углу службы будет отображена кнопка. Если выбрать непосредственно ВМ, будет вызван транспорт по умолчанию (транспорт с меньшим значением в поле приоритет). Для того чтобы использовать другой транспорт, нужно выбрать его в раскрывающемся списке:

OpenUDS. Выбор приложения из списка