VDI/OpenUDS: различия между версиями
< 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}}}} |
Версия от 22:12, 1 апреля 2021
Введение
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
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:
Отказоустойчивое решение