Обзор развертывания Kasm на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие системные параметры и компоненты:
-
Операционная система: Debian или Ubuntu (для использования стандартного метода установки через скрипт) или семейства RHEL (CentOS, Rocky Linux, AlmaLinux).
-
Права доступа: Права суперпользователя (
root) для выполнения установки. -
Дополнительное ПО:
-
Docker (версия с поддержкой плагинов
docker-composeверсии 1.52). -
Python 3 и пакеты
python3-pip,python3-requests,python3-docker. -
Certbot для управления SSL-сертификатами.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | kasm |
| Домен | hostkey.in |
| Полный шаблон | kasm{Server_ID}.hostkey.in |
Процесс установки приложения¶
Метод установки зависит от операционной системы сервера:
Для систем на базе Debian/Ubuntu¶
-
Обновление списков пакетов через
apt. -
Установка специфической версии Docker (
docker-ce=5:28.5.2-1~ubuntu.22.04~jammy) и фиксация этой версии для предотвращения нежелательных обновлений. -
Загрузка официального установочного архива Kasm с S3-хранилища.
-
Распаковка архива в директорию
/root/kasm_release. -
Запуск основного установочного скрипта
./install.shсо следующими параметрами: -
Установка паролей администратора и пользователя (используются системные учетные данные).
-
Назначение публичного хостнейма на основе шаблона домена.
-
Принятие лицензионного соглашения (
--accept-eula). -
Отключение проверок образов, портов и свободного места на диске для ускорения процесса.
-
Установка размера файла подкачки (swap) в размере 8192 МБ.
-
Настройка SSL-сертификатов через Certbot (режим
standalone) и их копирование в директорию приложения/opt/kasm/current/certs/.
Для систем на базе RHEL¶
-
Установка Docker.
-
Создание структуры каталогов для хранения данных:
-
/data -
/data/kasm/ -
/data/kasm/profiles -
Запуск контейнера Kasm Workspaces через Docker.
Контейнеры Docker и их запуск¶
В зависимости от метода установки, приложение может работать в режиме нативного сервиса или внутри контейнера:
Режим контейнера (RHEL)¶
| Параметр | Значение |
|---|---|
| Имя образа | lscr.io/linuxserver/kasm:latest |
| Имя контейнера | kasm |
| Порты | 3000:3000, {KASM_PORT}:{KASM_PORT} |
| Тома (volumes) | /data/kasm:/opt/data/kasm/profiles:/profiles/dev/input:/dev/input/run/udev/data:/run/udev/data |
| Переменные окружения | KASM_PORT: {kasm_port} |
| Политика перезапуска | unless-stopped |
| Режим работы | privileged: yes |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия по настройке окружения:
-
Настройка Docker: Создается конфигурационный файл
/etc/docker/daemon.json. Также выполняется обновление плагинов Docker для обеспечения поддержки версииcompose1.52. -
Управление сертификатами: После получения SSL-сертификатов через Certbot, существующие файлы сертификатов в приложении переименовываются (создается резервная копия с расширением
_bak), и на их место копируются новые валидные сертификаты из/etc/letsencrypt/live/.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Если приложение установлено через Docker:
-
Если приложение установлено через скрипт (Debian/Ubuntu): Необходимо повторно запустить установочный скрипт из директории
/root/kasm_release.
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь к расположению |
|---|---|
| Конфигурация Docker | /etc/docker/daemon.json |
| Сертификаты приложения | /opt/kasm/current/certs/ |
| Данные Kasm (RHEL) | /data/kasm/ |
| Профили пользователей (RHEL) | /data/kasm/profiles |
Доступные порты для подключения¶
-
3000: Стандартный порт интерфейса. -
{KASM_PORT}: Пользовательский порт, заданный при установке.