nkakouros.elasticsearch
ansible-role-elasticsearch
Instala y configura Elasticsearch.
Descripción
Este rol realizará de manera configurable:
- instalar Elasticsearch
- configurar Elasticsearch
- configurar TLS para http y transporte
- establecer contraseñas para usuarios incorporados
- sincronizar toda la información anterior con el controlador de Ansible para uso posterior
La configuración se realiza a través de un diccionario en yaml (elastic_config
), por lo que cada configuración predeterminada realizada por este rol puede ser sobrescrita definiendo las claves apropiadas en elastic_config
.
Requisitos
Ninguno
Dependencias
- Necesitarás tener Java instalado en el sistema de destino.
- Necesitarás haber generado certificados para que los use Elasticsearch (si necesitas habilitar comunicaciones encriptadas).
Puedes usar otros roles de Ansible para realizar estas tareas, como geerlingguy.java y nkakouros.easyrsa. Consulta el libro de jugadas de ejemplo.
Variables del Rol
Mira el archivo defaults/main.yml para ver las variables de este rol y su documentación.
Por defecto, el rol simplemente instalará Elasticsearch y lo iniciará como un nodo maestro, de datos y de ingestión.
Comparación con otros roles
Antes de crear este rol, intenté usar para mis proyectos los siguientes dos roles:
- https://github.com/geerlingguy/ansible-role-elasticsearch
- https://github.com/elastic/ansible-elasticsearch
Sin embargo, no se adaptaban a mis necesidades. El primero es demasiado simple y cualquier PR para añadir funcionalidad probablemente quedará atrapada en la cola de PR durante meses o incluso años. El segundo es demasiado desordenado para mí, con código de Ansible antiguo y difícil de leer, mucho contenido de versiones anteriores de Elasticsearch y documentación confusa.
Ejemplo de Libro de Jugadas
Este es un libro de jugadas mínimo para instalar Elasticsearch lo antes posible, sin certificados, para fines de desarrollo.
- hosts: elastic-server
roles:
- nkakouros.elasticsearch
Para un ejemplo completo sobre cómo configurar e instalar una instalación completa de ELK (de donde puedes elegir lo que es relevante para tu caso de uso), consulta la carpeta molecule/default/. Allí, el archivo prepare.yml contiene un libro de jugadas que instalará las dependencias que este rol necesitará. El archivo playbook.yml contendrá un ejemplo completo y complejo de cómo usar este rol específicamente.
Licencia
GPLv3
Información del Autor
Nikolaos Kakouros (nkak@kth.se)
ansible-galaxy install nkakouros.elasticsearch