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

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

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

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Ubuntu.

  • Права доступа: права суперпользователя (root) для установки системных пакетов и Docker.

  • Доступ в интернет: для загрузки образов Docker и получения SSL-сертификатов.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу управления используется следующий шаблон домена:

Параметр Значение
Префикс opensearch
Домен hostkey.in
Полный шаблон opensearch{Server_ID}.hostkey.in

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

Основные файлы и директории в системе:

  • /home/{{ ansible_user }}/opensearch-project/ — рабочая директория проекта, содержащая конфигурацию Docker Compose.

  • /root/nginx/ — директория с конфигурацией прокси-сервера Nginx.

  • /data/nginx/user_conf.d/ — директория с пользовательскими конфигурациями Nginx и SSL-сертификатами.

  • /data/nginx/nginx-certbot.env — файл с переменными окружения для Certbot.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: установка Docker и Docker Compose через системный пакетный менеджер apt.

  2. Создание рабочей среды: создание директории проекта /home/{{ ansible_user }}/opensearch-project с соответствующими правами доступа.

  3. Развертывание контейнеров: запуск основного приложения OpenSearch и Dashboards через Docker Compose.

  4. Настройка проксирования: настройка Nginx для обеспечения доступа к приложению по HTTPS через автоматическое получение SSL-сертификатов.

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

Приложение разворачивается с использованием следующих контейнеров:

OpenSearch Node

  • Имя образа: opensearchproject/opensearch:2.17.0

  • Имя контейнера: opensearch-node1

  • Порты:

  • 9200:9200 (API)

  • 9600:9600 (Performance Analyzer)

  • Тома: ./opensearch-data:/usr/share/opensearch/data

  • Переменные окружения:

  • discovery.type=single-node

  • bootstrap.memory_lock=true

  • OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m

  • Политика перезапуска: не указана (стандартная).

OpenSearch Dashboards

  • Имя образа: opensearchproject/opensearch-dashboards:2.17.0

  • Имя контейнера: opensearch-dashboards

  • Порты: 5601:5601

  • Переменные окружения:

  • OPENSEARCH_HOSTS=["https://opensearch-node1:9200"]

Nginx (Proxy)

  • Имя образа: jonasal/nginx-certbot:latest

  • Сеть: host

  • Тома:

  • nginx_secrets:/etc/letsencrypt

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

Базы данных

В качестве базы данных используется встроенный движок OpenSearch, данные которого хранятся в локальной директории ./opensearch-data внутри папки проекта.

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

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

  1. Перейти в директорию проекта: cd /home/{{ ansible_user }}/opensearch-project.

  2. Выполнить команду для подтягивания новых версий образов и перезапуска контейнеров:

    docker compose pull && docker compose up -d
    

Расположение конфигурационных файлов и данных

Тип данных Путь
Конфигурация Docker Compose /home/{{ ansible_user }}/opensearch-project/docker-compose.yml
Данные OpenSearch (хранилище) ./opensearch-data (в директории проекта)
Конфигурации Nginx /data/nginx/user_conf.d/

Доступные порты для подключения

  • 443 — HTTPS доступ к интерфейсу Dashboards через прокси.

  • 9200 — API OpenSearch (локально).

  • 5601 — Интерфейс Dashboards (локально/внутри сети Docker).

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