Перейти к содержанию

Обзор развертывания 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

  1. Обновление списков пакетов через apt.

  2. Установка специфической версии Docker (docker-ce=5:28.5.2-1~ubuntu.22.04~jammy) и фиксация этой версии для предотвращения нежелательных обновлений.

  3. Загрузка официального установочного архива Kasm с S3-хранилища.

  4. Распаковка архива в директорию /root/kasm_release.

  5. Запуск основного установочного скрипта ./install.sh со следующими параметрами:

  6. Установка паролей администратора и пользователя (используются системные учетные данные).

  7. Назначение публичного хостнейма на основе шаблона домена.

  8. Принятие лицензионного соглашения (--accept-eula).

  9. Отключение проверок образов, портов и свободного места на диске для ускорения процесса.

  10. Установка размера файла подкачки (swap) в размере 8192 МБ.

  11. Настройка SSL-сертификатов через Certbot (режим standalone) и их копирование в директорию приложения /opt/kasm/current/certs/.

Для систем на базе RHEL

  1. Установка Docker.

  2. Создание структуры каталогов для хранения данных:

  3. /data

  4. /data/kasm/

  5. /data/kasm/profiles

  6. Запуск контейнера 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 для обеспечения поддержки версии compose 1.52.

  • Управление сертификатами: После получения SSL-сертификатов через Certbot, существующие файлы сертификатов в приложении переименовываются (создается резервная копия с расширением _bak), и на их место копируются новые валидные сертификаты из /etc/letsencrypt/live/.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  • Если приложение установлено через Docker:

    docker compose pull && docker compose up -d
    

  • Если приложение установлено через скрипт (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}: Пользовательский порт, заданный при установке.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×