OpenSearch configuration

La mise en place de cluster OpenSearch est simplifiée par Docker. On peut facilement récupérer des images depuis Docker Hub (lien) et le mettre rapidement en place avec docker-compose. Docker permet même d’aller plus loin en créant une Stack personnalisée avec des services supplémentaires.

1. Installation de Docker et de docker-compose

Get Docker
Download and install Docker on the platform of your choice, including Mac, Linux, or Windows.
https://docs.docker.com/get-started/get-docker/

2. Configuration des paramètres du serveur Linux

Pour assurer un bon fonctionnement en production, il faut modifier certains paramètres de votre système :

3. Télécharger les images Docker de OpenSearch

docker pull opensearchproject/opensearch:2
docker pull opensearchproject/opensearch-dashboards:2

4. Créer un cluster OpenSearch avec docker-compose

Pour déployer un cluster OpenSearch avec Docker, il est beaucoup plus simple d’utiliser Docker Compose avec un fichier YAML plutôt que de créer manuellement les conteneurs un par un. Ce fichier, appelé Docker Compose file, définit tout l’environnement (services, réseaux, volumes) et permet à Docker Compose de gérer automatiquement le cluster. Par défaut, Docker Compose cherche un fichier nommé docker-compose.yml, docker-compose.yaml, compose.yml ou compose.yaml dans le répertoire courant, mais il est possible de spécifier un autre fichier avec l’option -f. Un exemple classique de fichier docker-compose.yml crée un cluster avec deux nœuds OpenSearch et un conteneur OpenSearch Dashboards, connectés via un réseau interne (opensearch-net) et utilisant des volumes pour stocker les données de chaque nœud. Cet exemple, conçu pour les tests et le développement, utilise une configuration de sécurité par défaut avec des certificats TLS auto-signés et des utilisateurs internes prédéfinis.

4.1 Mot de passe admin

Pour commencer, il faut configurer le mot de passe administrateur :
export OPENSEARCH_INITIAL_ADMIN_PASSWORD=AaBbCcDd1234!

Ensuite, on créé un fichier .env avec le mot de passe administrateur :

echo "OPENSEARCH_INITIAL_ADMIN_PASSWORD=AaBbCcDd1234!" > ./.env

4.2 Fichier docker-compose.yml type

4.3 Administrer le cluster

Lancer les containers : docker compose up -d

Arrêter le cluster : docker compose down

Supprimer les containers : docker container prune

Vérifier les processus en cours : docker compose ps

Afficher les logs d’un container : docker compose logs <serviceName>

Se connecter au cluster : http://localhost:5601 / http://server_ip:5601

5. Sécurité

Pour cette partie, il est plus prudent d’aller directement voir la documentation de OpenSearch, qui contient d’ailleurs une section spécifique sur ce point :