Обзор развертывания 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.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: установка Docker и Docker Compose через системный пакетный менеджер
apt. -
Создание рабочей среды: создание директории проекта
/home/{{ ansible_user }}/opensearch-projectс соответствующими правами доступа. -
Развертывание контейнеров: запуск основного приложения OpenSearch и Dashboards через Docker Compose.
-
Настройка проксирования: настройка 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 внутри папки проекта.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Перейти в директорию проекта:
cd /home/{{ ansible_user }}/opensearch-project. -
Выполнить команду для подтягивания новых версий образов и перезапуска контейнеров:
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь |
|---|---|
| Конфигурация 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).