Установка и настройка Rudder на Debian и Ubuntu
Что такое Rudder
Rudder — веб‑ориентированная система управления конфигурацией и автоматизации IT‑инфраструктуры с открытым исходным кодом. Компоненты:
- Root server — центральный сервер, который хранит и распространяет политики и конфигурации.
- Node — управляемая система с установленным Rudder‑агентом.
Кратко: Rudder автоматизирует сложные конфигурации, обеспечивает соблюдение политик безопасности и собирает инвентарные данные по узлам.
Требования и определения
- Java Runtime Environment — требуется на корневом сервере.
- Порты TCP 443 и 5309 — должны быть открыты для подключения агентов.
- lsb_release -cs — возвращает кодовое имя дистрибутива (например, focal, bionic, bullseye).
Установка корневого сервера Rudder
- Установите Java Runtime:
sudo apt install default-jre- Добавьте GPG‑ключ репозитория Rudder:
sudo wget --quiet -O /etc/apt/trusted.gpg.d/rudder_apt_key.gpg https://repository.rudder.io/apt/rudder_apt_key.gpg- Добавьте репозиторий Rudder (вставляется кодовое имя дистрибутива автоматически):
echo "deb http://repository.rudder.io/apt/7.2/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rudder.list- Обновите индекс пакетов и установите сервер:
sudo apt update
sudo apt install rudder-serverНастройка корневого сервера
- Создайте учётную запись для входа в веб‑интерфейс Rudder:
sudo rudder server create-user -u После выполнения установите пароль через интерактивный запрос.
- Откройте необходимые порты в брандмауэре (пример для UFW):
sudo ufw allow 443/tcp
sudo ufw allow 5309/tcp- Доступ к веб‑интерфейсу по адресу:
https:///rudder - В веб‑интерфейсе зайдите в Administration > Settings, в секции General settings укажите Allowed Networks — сети, с которых разрешено подключение узлов, в формате network-ID/mask. Пример: если узел в подсети 192.168.42.0/24, добавьте 192.168.42.0/24.
- Перезапуск сервера при необходимости:
sudo systemctl restart rudder-serverУстановка агента Rudder на узле
- Добавьте тот же GPG‑ключ и репозиторий на управляемом узле:
sudo wget --quiet -O /etc/apt/trusted.gpg.d/rudder_apt_key.gpg "https://repository.rudder.io/apt/rudder_apt_key.gpg"
echo "deb http://repository.rudder.io/apt/7.2/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rudder.list
sudo apt update- Установите агент:
sudo apt install rudder-agentНастройка агента
Агент должен знать адрес корневого сервера. Есть два варианта:
- Прописать адрес в файле /var/rudder/cfengine-community/policy_server.dat:
echo "" | sudo tee /var/rudder/cfengine-community/policy_server.dat - Или использовать команду Rudder:
sudo rudder agent policy-server Перезапустите агент при необходимости:
sudo rudder agent restartДобавление узла в Rudder
После установки и настройки агент пришлёт инвентарные данные на сервер. В веб‑интерфейсе перейдите в Node management > Pending nodes, отметьте новый узел и нажмите Accept. Подтвердите действие в следующем окне.
Просмотреть все управляемые узлы: Node management > Nodes.
Если узел не появился в списке Pending nodes, можно вручную инициировать инвентаризацию или выполнение агента:
sudo rudder agent inventorysudo rudder agent runУдаление агента Rudder с узла
- Удалите пакет:
sudo apt remove rudder-agent- Убедитесь, что процессы Rudder остановлены:
ps aux | grep rudder- Удалите каталоги данных:
sudo rm -rf /opt/rudder
sudo rm -rf /var/rudder- Удалите узел из корневого сервера через веб‑интерфейс: Node management > Nodes, выберите узел и нажмите Delete на странице Summary.
Удаление корневого сервера Rudder
- Удалите пакет сервера:
sudo apt remove rudder-server- Проверьте процессы:
ps aux | grep rudder- Удалите каталоги данных:
sudo rm -rf /opt/rudder
sudo rm -rf /var/rudderРекомендации по безопасности и надежности
Important: открывайте порты и доступ к веб‑интерфейсу только для доверенных сетей и через TLS. Основные практики:
- Разделяйте сеть управления и продуктивную сеть.
- Используйте проверенные TLS‑сертификаты для HTTPS, не оставляйте самоподписанные в продуктиве.
- Контролируйте доступ в веб‑интерфейс через SSO или централизованную аутентификацию, если возможно.
- Регулярно обновляйте пакеты Rudder и Java.
- Делайте резервные копии /var/rudder и /opt/rudder перед обновлениями.
Отладка и типовые ошибки
Проверьте статус служб и логи:
systemctl status rudder-server
journalctl -u rudder-server -fЛоги агентов находятся в /var/rudder и в системных логах. Для проверки сетевого соединения используйте curl или telnet:
curl -vk https:///rudder
telnet 5309 Проблемы с сертификатами чаще всего решаются проверкой цепочки доверия и правильностью времени на сервере и узлах.
Рекомендации по деплою и автоматизации
Мини‑методология развёртывания Rudder в инфраструктуре:
- Подготовьте тестовую среду, зеркальную продакшену.
- Установите корневой сервер в изолированной сети управления.
- Разверните агента на контрольных узлах и проверьте прием и применение политики.
- Настройте мониторинг и резервное копирование.
- Поэтапно добавляйте узлы из „canary“ группы в остальные кластеры.
- При откате — удаляйте политики и удаляйте агента с пострадавших узлов.
Критерии приёмки:
- Корневой сервер отвечает по HTTPS и авторизует пользователей.
- Узлы появляются в списке Pending nodes и успешно переходят в состояние Accepted.
- Политики успешно применяются без ошибок в логах.
- Резервные копии конфигурации созданы и проверены.
Роль‑ориентированные чек‑листы
Администратор сервера:
- Установил Java и rudder-server.
- Создал веб‑пользователя и настроил Allowed Networks.
- Настроил TLS, бэкапы и мониторинг.
Ответственный за узел:
- Установил rudder-agent и указал policy server.
- Запустил инвентаризацию и проверил появление в Pending nodes.
- Убедился в корректности применённых политик.
Команда безопасности:
- Проверила доступы к UI и закрыла лишние порты.
- Проверила сертификаты и обновления Java.
Совместимость и миграция
- В репозитории в примерах используется версия 7.2; при выпуске новых версий заменяйте номер релиза на актуальный или используйте канал, рекомендованный документацией Rudder.
- lsb_release -cs подставляет кодовое имя дистрибутива; убедитесь, что для вашей версии Debian/Ubuntu соответствующий пакет присутствует в репозитории Rudder.
- При миграции с других систем управления конфигурациями планируйте экспорт текущих конфигураций и организацию групп узлов заранее.
Сравнение с альтернативой
Ansible — популярная бесплатная платформа автоматизации, более ориентирована на агент‑less подход и ad‑hoc задачи. Rudder даёт удобный веб‑интерфейс, централизованное управление политиками и встроенную инвентаризацию. Выбор зависит от требований: если нужна GUI‑ориентированная политико‑центричная система — Rudder; если нужен агент‑less оркестратор и гибкие плейбуки — Ansible.
Сводка и шаги дальше
- Установите Java и rudder-server на выделенный сервер.
- Настройте Allowed Networks и аккаунт администратора.
- Разверните rudder-agent на узлах и примите их в веб‑интерфейсе.
- Настройте бэкапы, TLS и правила доступа.
Notes: перед массовым развёртыванием протестируйте обновление и откат в контролируемой среде.
Факты и краткая справка
- Rudder упрощает централизованное управление конфигурациями и инвентаризацией.
- Ключевые артефакты хранятся в /var/rudder и /opt/rudder.
Глоссарий в одну строку
- Root server — центральный сервер управления.
- Agent — клиент, установленный на управляемом узле.
- Allowed Networks — список подсетей, допускаемых к подключению.
Конец статьи.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента