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