2.8 KiB
2.8 KiB
Деплой
Автор: Сергей Антропов, сайт: https://devops.org.ru
Варианты развертывания:
- Docker Compose: файл
docker-compose.yml
- Systemd сервис: через роль
runner/deploy-service
(юнит находится вrunner/sensusagent.service
при необходимости) - Ansible-плейбуки:
runner/deploy
,runner/delete
, а также service-варианты
Подготовка удаленного хоста:
- Доступ по SSH (ключ находится у оператора)
- Права
sudo
для установки зависимостей
Быстрый деплой (одноразовый запуск агента без systemd):
make deploy
Что делает команда:
- Собирает linux-бинарь агента и коллектора в Docker
- Копирует
bin/agent/agent
,bin/agent/config.yaml
,bin/agent/collectors/*
на удаленный хост в/opt/sensusagent
- Обеспечивает зависимости (например,
sysstat
,smartmontools
и др.)
Удаление установленного агента (без systemd):
make delete
Деплой и запуск через systemd:
make deploy-service
Остановка и очистка systemd-варианта:
make delete-service
Прямое использование systemd юнита:
Разместите юнит-файл по пути /etc/systemd/system/sensusagent.service
со следующим содержимым:
[Unit]
Description=SensusAgent metrics collector
After=network.target
[Service]
Type=simple
Environment=CONFIG_PATH=/opt/sensusagent/config.yaml
ExecStart=/opt/sensusagent/agent --mode stdout
Restart=on-failure
RestartSec=3
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.target
Команды управления:
sudo systemctl daemon-reload
sudo systemctl enable --now sensusagent
sudo systemctl status sensusagent
sudo journalctl -u sensusagent -f
Права и директории:
- Бинарь и конфиг по умолчанию устанавливаются в
/opt/sensusagent
- Убедитесь, что у пользователя сервиса есть права на чтение конфигов и исполнение бинарей
Переменные Ansible:
LOCAL_BIN_DIR
— локальный каталог с собранным агентом (по умолчанию./bin/agent
)remote_dir
— удаленный каталог установки (по умолчанию/opt/sensusagent
в плейбуках)
Инвентори:
- Файл
runner/inventory.ini
определяет целевые хосты и параметры подключения