VDI/OpenUDS: различия между версиями

Материал из ALT Linux Wiki
< VDI
(Новая страница: «{{Stub}} __TOC__ == Установка == == Настройка == == Подготовка шаблона виртуальной машины == == Подклю…»)
 
(Начинаем писать документацию)
Строка 2: Строка 2:


__TOC__
__TOC__
== Введение ==
OpenUDS это много-платформенный брокер подключений для создания и управления виртуальными рабочими местами и приложениями.
Основные компоненты решения VDI на базе OpenUDS:
# OpenUDS Server (openuds-server) - брокер подключений пользователей, а так же интерфейс администратора для настройки.
# SQL Server. Для работы django приложения, которым является openuds-server необходим SQL сервер, например mysql или mariadb. Может быть установлен на отдельном сервере.
# Платформа для запуска клиентских окружений и приложений. OpenUDS совместима со множеством систем виртуализации: PVE, OpenNebula, oVirt, OpenStack. Так же возможно использование с отдельным сервером без виртуализации (аналог терминального решения).
# OpenUDS Client (openuds-client) - клиентское приложения для подключения к брокеру соединений и дальнейшего получения доступа к виртуальному рабочему окружению
# OpenUDS Tunnel (openuds-tunnel) - решение для туннелирования обращений от клиента к виртуальному рабочему окружению. Предназначено для предоставления доступа из недоверенных сегментов сети, например из Интернет. Устанавливается на отдельный сервер.
# OpenUDS Acter (openuds-acter) - ПО для гостевых виртуальных машин, реализует связку виртуальной машины и брокера соединений.


== Установка ==
== Установка ==
=== Установка mysql/mariadb ===
# apt-get install mariadb
# systemctl enable --now mariadb.service
# mysql_secure_installation
# mysql -u root
<syntaxhighlight lang="MySQL">
mysql> CREATE DATABASE 'dbuds' CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
mysql> FLUSH PRIVILEGES;
</syntaxhighlight>
=== OpenUDS Server ===
==== Установка OpenUDS Server ====
# apt-get install openuds-server-nginx
Будут установлены:
* openuds-server - django приложение
* gunicorn - сервер приложений. Обеспечивает запуск django как стандартного WSGI приложения.
* nginx - http-сервер, используется в качестве reverse-proxy для доступа к django приложению, запущенному с помощью gunicorn.
==== Настройка OpenUDS Server ====
* отредактировать /etc/openuds, указав корректные данные для подключения к SQL серверу
* "заполнить" базу данных первоначальными данными
# cd /usr/share/openuds
# python3 manage.py migrate
* запустить gunicorn
# systemctl enable --now openuds-web.service
* запустить nginx
# ln -s ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf
# systemctl enable --now nginx.service
* запустить менеджер задач OpenUDS
# systemctl enable --now openuds-taskmanager.service
* подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>
имя/пароль по-умолчанию: root/udsmam0
Дополнительная информация о настройках django приложений:
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
https://docs.djangoproject.com/en/2.2/ref/databases/
=== OpenUDS Tunneler ===
==== Установка OpenUDS Tunneler ====
# apt-get install openuds-tunnel
Будут установлены:
* openuds-tunnel - java приложение, основанное на проекте guacamole
* guacamole-server
* tomcat
* libnss_uds
* pam_uds
Необходимо указать адрес OpenUDS сервера (брокера) в /etc/uds.conf и /etc/pam.d/sshd_uds
* запустить сервисы
# systemctl enable --now sshd_uds guacd tomcat
== Настройка ==
== Настройка ==
=== Подключение системы виртуализации ===
В разделе "Services" подключаем один из "Service providers"
* PVE Platform Provider
* OpenNebula Platform Provider
* OpenStack Platform Provider
* oVirt/RHEV Platform Provider
* Static IP Machine Provider (отдельный сервер без виртуализации)
=== Настройка аутентификации пользователей ===
* Internal Database
* Regex LDAP Authenticator
* IP Autentificator
=== Настройка групп пользователей ===
На вкладке "Groups" необходимо создать группы пользователей с указанием какую базу пользователей использовать.
=== Настройка "OS Manager" ===
== Подготовка шаблона виртуальной машины ==
== Подготовка шаблона виртуальной машины ==
== Подключение ==
Требования к шаблону виртуальной машины:
* openuds-acter
* установить UDS Master Key в настройках openuds-acter соответствующий серверу OpenUDS
* один из вариантов удаленного доступа
** xrdp
** x2go
** ???
 
== Подключение пользователя к виртуальному рабочему месту==
* на клиенте необходимо установить openuds-client
# apt-get install openuds-client
* подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>, имя/пароль должен указать администратор, возможен как из внутренней базы OpenUDS, так и из внешней, например ldap
* в web-интерфейсе пользователя видны виртуальные машины(или шаблоны) только опубликованные администратором
* выбрав нужную ВМ, автоматически загрузится opennebula-client и запустит приложение для просмотра удаленного рабочего стола
 
{{todo|Отказоустойчивое решение}}


{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}

Версия от 19:12, 1 апреля 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Введение

OpenUDS это много-платформенный брокер подключений для создания и управления виртуальными рабочими местами и приложениями. Основные компоненты решения VDI на базе OpenUDS:

  1. OpenUDS Server (openuds-server) - брокер подключений пользователей, а так же интерфейс администратора для настройки.
  2. SQL Server. Для работы django приложения, которым является openuds-server необходим SQL сервер, например mysql или mariadb. Может быть установлен на отдельном сервере.
  3. Платформа для запуска клиентских окружений и приложений. OpenUDS совместима со множеством систем виртуализации: PVE, OpenNebula, oVirt, OpenStack. Так же возможно использование с отдельным сервером без виртуализации (аналог терминального решения).
  4. OpenUDS Client (openuds-client) - клиентское приложения для подключения к брокеру соединений и дальнейшего получения доступа к виртуальному рабочему окружению
  5. OpenUDS Tunnel (openuds-tunnel) - решение для туннелирования обращений от клиента к виртуальному рабочему окружению. Предназначено для предоставления доступа из недоверенных сегментов сети, например из Интернет. Устанавливается на отдельный сервер.
  6. OpenUDS Acter (openuds-acter) - ПО для гостевых виртуальных машин, реализует связку виртуальной машины и брокера соединений.

Установка

Установка mysql/mariadb

# apt-get install mariadb
# systemctl enable --now mariadb.service
# mysql_secure_installation
# mysql -u root
 
mysql> CREATE DATABASE 'dbuds' CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'dbuds'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
mysql> FLUSH PRIVILEGES;

OpenUDS Server

Установка OpenUDS Server

# apt-get install openuds-server-nginx

Будут установлены:

  • openuds-server - django приложение
  • gunicorn - сервер приложений. Обеспечивает запуск django как стандартного WSGI приложения.
  • nginx - http-сервер, используется в качестве reverse-proxy для доступа к django приложению, запущенному с помощью gunicorn.

Настройка OpenUDS Server

  • отредактировать /etc/openuds, указав корректные данные для подключения к SQL серверу
  • "заполнить" базу данных первоначальными данными
# cd /usr/share/openuds
# python3 manage.py migrate
  • запустить gunicorn
# systemctl enable --now openuds-web.service
  • запустить nginx
# ln -s ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf
# systemctl enable --now nginx.service
  • запустить менеджер задач OpenUDS
# systemctl enable --now openuds-taskmanager.service
  • подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>

имя/пароль по-умолчанию: root/udsmam0

Дополнительная информация о настройках django приложений:

https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
https://docs.djangoproject.com/en/2.2/ref/databases/

OpenUDS Tunneler

Установка OpenUDS Tunneler

# apt-get install openuds-tunnel

Будут установлены:

  • openuds-tunnel - java приложение, основанное на проекте guacamole
  • guacamole-server
  • tomcat
  • libnss_uds
  • pam_uds

Необходимо указать адрес OpenUDS сервера (брокера) в /etc/uds.conf и /etc/pam.d/sshd_uds

  • запустить сервисы
# systemctl enable --now sshd_uds guacd tomcat

Настройка

Подключение системы виртуализации

В разделе "Services" подключаем один из "Service providers"

  • PVE Platform Provider
  • OpenNebula Platform Provider
  • OpenStack Platform Provider
  • oVirt/RHEV Platform Provider
  • Static IP Machine Provider (отдельный сервер без виртуализации)

Настройка аутентификации пользователей

  • Internal Database
  • Regex LDAP Authenticator
  • IP Autentificator

Настройка групп пользователей

На вкладке "Groups" необходимо создать группы пользователей с указанием какую базу пользователей использовать.

Настройка "OS Manager"

Подготовка шаблона виртуальной машины

Требования к шаблону виртуальной машины:

  • openuds-acter
  • установить UDS Master Key в настройках openuds-acter соответствующий серверу OpenUDS
  • один из вариантов удаленного доступа
    • xrdp
    • x2go
    • ???

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

  • на клиенте необходимо установить openuds-client
# apt-get install openuds-client
  • подключиться к серверу OpenUDS с помощью браузера http://<openuds_address>, имя/пароль должен указать администратор, возможен как из внутренней базы OpenUDS, так и из внешней, например ldap
  • в web-интерфейсе пользователя видны виртуальные машины(или шаблоны) только опубликованные администратором
  • выбрав нужную ВМ, автоматически загрузится opennebula-client и запустит приложение для просмотра удаленного рабочего стола
TODO:
Отказоустойчивое решение