Требования
Перед развертыванием с помощью Rediacc убедитесь, что ваша рабочая станция и удаленные серверы соответствуют следующим требованиям.
Рабочая станция (плоскость управления)
CLI rdc работает на вашей рабочей станции и оркестрирует удаленные серверы по SSH.
| Платформа | Минимальная версия | Примечания |
|---|---|---|
| macOS | 12 (Monterey)+ | Поддерживаются Intel и Apple Silicon |
| Linux (x86_64) | Любой современный дистрибутив | glibc 2.31+ (Ubuntu 20.04+, Debian 11+, Fedora 34+) |
| Windows | 10+ | Нативная поддержка через установщик PowerShell |
Дополнительные требования:
- Пара SSH-ключей (например,
~/.ssh/id_ed25519или~/.ssh/id_rsa) - Сетевой доступ к вашим удаленным серверам по SSH-порту (по умолчанию: 22)
Удаленный сервер (плоскость данных)
Бинарный файл renet работает на удаленных серверах с привилегиями root. Он управляет зашифрованными образами дисков, изолированными Docker-демонами и оркестрацией сервисов.
Если вы не уверены, какой инструмент использовать, см. rdc vs renet. Коротко: используйте rdc для обычных операций и renet напрямую только для расширенных задач на стороне сервера.
Поддерживаемые операционные системы
Удаленные серверы запускают бинарный файл renet и размещают зашифрованные, изолированные по репозиторию Docker-демоны. Следующие пять дистрибутивов тестируются матрицей Bridge Workers в CI при каждом пул-реквесте и являются единственными официально поддерживаемыми:
| ОС | Версия | Ядро по умолчанию | Примечания |
|---|---|---|---|
| Ubuntu | 24.04 LTS | 6.8 | Рекомендуется. AppArmor включён по умолчанию. |
| Debian | 13 (Trixie) | 6.12 | Debian 12 также работает (ядро минимум 6.1). |
| Fedora | 43 | 6.12 | SELinux в режиме enforcing по умолчанию. |
| openSUSE Leap | 16.0 | 6.4+ | AppArmor включён по умолчанию. |
| Oracle Linux | 10 | UEK 7+ | Использует UEK, в котором сохранён модуль btrfs. SELinux в режиме enforcing по умолчанию. См. “Зачем UEK?” ниже. |
Все строки относятся к x86_64. arm64 собирается, но не тестируется непрерывно для каждой серверной ОС; откройте issue, если вам это нужно для конкретного дистрибутива. Другие дистрибутивы Linux с systemd, поддержкой Docker и cryptsetup могут работать, но официально не поддерживаются и могут перестать работать при обновлениях без предупреждения.
Зачем UEK? (и почему Rocky 10 / стандартный RHEL 10 не поддерживается)
Зашифрованный бэкенд хранилища Rediacc требует встроенного модуля ядра btrfs. Стандартное ядро RHEL 10 поставляется без него: modprobe btrfs завершается ошибкой “Module btrfs not found”, а dnf search btrfs ничего не возвращает. Rocky Linux 10 и AlmaLinux 10 наследуют то же ядро и поэтому не могут работать как серверы Rediacc.
Oracle Linux 10 по умолчанию использует Unbreakable Enterprise Kernel (UEK), который сохраняет btrfs встроенным. Это единственная совместимая с RHEL цель в списке поддерживаемых систем. Если вы вынуждены использовать сервер семейства RHEL, используйте Oracle Linux 10 с UEK. (Первоисточником этого решения является .github/workflows/ct-tests.yml в виде матрицы CI Bridge Workers.)
Только для рабочей станции (цели установки CLI)
CLI rdc также корректно устанавливается на Alpine 3.19+ (APK со слоем совместимости gcompat, устанавливается автоматически) и Arch Linux (rolling, через pacman). Это только клиентские пути установки (см. Установка) и не поддерживаются в качестве серверных целей renet.
Политики безопасности по ОС
Docker-демон для каждого репозитория и сами контейнеры репозитория запускаются с метками контейнеров по умолчанию на каждой поддерживаемой ОС. rdc config machine setup не устанавливает пользовательские политики SELinux или профили AppArmor. Поведение по ОС:
- Ubuntu 24.04, openSUSE Leap 16.0: AppArmor включён по умолчанию. Применяется профиль docker-container по умолчанию; дополнительная настройка не требуется.
- Fedora 43, Oracle Linux 10: SELinux работает в режиме enforcing. Демон для каждого репозитория присваивает контейнерам стандартный контекст
container_t. Пользовательская политика SELinux не требуется. - CRIU (checkpoint/restore) является единственным случаем, который обходит профиль AppArmor с помощью
apparmor=unconfined, поскольку поддержка AppArmor в upstream CRIU ещё не стабильна. См. примечания о CRIU в Правилах Rediacc.
Если шаг настройки завершается ошибками AVC отказов SELinux или отклонениями AppArmor, см. Устранение неполадок, раздел “Проблемы настройки, специфичные для дистрибутива”.
Предварительные требования к серверу
- Учетная запись пользователя с привилегиями
sudo(рекомендуется sudo без пароля) - Ваш открытый SSH-ключ добавлен в
~/.ssh/authorized_keys - Не менее 20 ГБ свободного дискового пространства (больше в зависимости от ваших нагрузок)
- Доступ в интернет для загрузки Docker-образов (или приватный реестр)
Устанавливается автоматически
Команда rdc config machine setup устанавливает на удаленном сервере следующее:
- Docker и containerd (среда выполнения контейнеров)
- cryptsetup (шифрование дисков LUKS)
- Бинарный файл renet (загружается через SFTP)
Вам не нужно устанавливать это вручную.
Локальные виртуальные машины (Необязательно)
Если вы хотите тестировать развертывания локально с помощью rdc ops, ваша рабочая станция должна поддерживать виртуализацию: KVM на Linux или QEMU на macOS. Инструкции по настройке и подробности о платформах см. в руководстве Экспериментальные ВМ.