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

Обзор развертывания Splunk на сервере

Предпосылки и предварительные требования

Для успешного развертывания приложения необходимо наличие следующих условий: - Операционная система с установленным Docker и Docker Compose. - Права доступа пользователя root для создания директорий и запуска контейнеров. - Свободные порты 80, 443 и 8000 на сервере. - Доступ к интернету для загрузки образов контейнеров и получения SSL-сертификатов.

Структура файлов и каталогов

Все файлы конфигурации и данные приложения размещаются в следующей структуре: - /root/splunk — корневая директория развертывания, принадлежащая пользователю root. - /root/splunk/compose.yml — файл конфигурации Docker Compose, описывающий сервисы. - /data/nginx/user_conf.d — директория для пользовательских конфигураций Nginx. - nginx_secrets — внешний том Docker для хранения секретов и сертификатов Let's Encrypt.

Контейнеры Docker и их запуск

Приложение развертывается с использованием двух контейнеров, описанных в файле compose.yml:

  1. Сервис splunk:
  2. Образ: splunk/splunk:latest.
  3. Порт: 8000 (отображается на порт 8000 хоста).
  4. Переменные окружения:
    • SPLUNK_START_ARGS: --accept-license.
    • SPLUNK_PASSWORD: задается динамически при генерации конфигурации.
  5. Политика перезапуска: unless-stopped.

  6. Сервис nginx:

  7. Образ: jonasal/nginx-certbot:latest.
  8. Порты: 80 и 443 (отображаются на соответствующие порты хоста).
  9. Переменные окружения:
    • CERTBOT_EMAIL: hkadm@hostkey.com.
  10. Тома:
    • nginx_secrets монтируется в /etc/letsencrypt.
    • /data/nginx/user_conf.d монтируется в /etc/nginx/user_conf.d.
  11. Политика перезапуска: unless-stopped.
  12. Зависимость: сервис запускается после splunk.

Прокси серверы

В качестве обратного прокси-сервера используется контейнер nginx на базе образа jonasal/nginx-certbot. Он выполняет следующие функции: - Обработка входящего трафика на портах 80 и 443. - Автоматическое получение и обновление SSL-сертификатов через Certbot. - Перенаправление запросов к сервису splunk.

Конфигурация прокси сервера использует внешний том nginx_secrets для хранения сертификатов и монтирует локальную директорию /data/nginx/user_conf.d для пользовательских настроек.

Запуск, остановка и обновление

Управление контейнерами осуществляется через команды Docker Compose в директории /root/splunk:

  • Запуск сервисов в фоновом режиме:

    docker compose up -d
    
    Команда выполняется с текущей директорией /root/splunk.

  • Остановка сервисов:

    docker compose down
    

  • Перезапуск сервисов с обновлением конфигурации:

    docker compose up -d --force-recreate
    

Сервисы настроены на автоматический перезапуск при перезагрузке сервера, за исключением случаев явной остановки.

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