William-Yeh.elasticsearch

williamyeh.elasticsearch pour Ansible Galaxy

Circle CI Build Status

Résumé

Nom du rôle dans Ansible Galaxy : williamyeh.elasticsearch

Ce rôle Ansible a les fonctionnalités suivantes pour Elasticsearch :

  • Installer Elasticsearch.
  • Spécifier la taille de la mémoire et G1GC pour la JVM, si demandé.
  • Installer des plugins (standards et tiers).
  • Configuration minimale (*la véritable configuration doit être laissée aux fichiers de modèle de l'utilisateur ; voir la section Utilisation ci-dessous).

Variables de rôle

Variables obligatoires

Variables à définir dans le playbook de l'utilisateur :

elasticsearch_version

Variables optionnelles

Fichiers de configuration installables par l'utilisateur (via le système de modèles d'Ansible) :

# fichier de configuration (généralement elasticsearch.yml) à installer,
# par rapport à `playbook_dir`;
# le fichier sera copié tel quel
elasticsearch_conf_copy

# fichier de configuration (généralement elasticsearch.yml.j2) à installer,
# par rapport à `playbook_dir`;
# le fichier sera copié à travers le système de modèles d'Ansible
elasticsearch_conf_template

Plugins installables par l'utilisateur :

# un tableau de plugins (enregistrés sur elasticsearch.org) à installer.
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html
elasticsearch_plugins

# un tableau d'autres plugins à installer.
# chaque élément du tableau doit avoir au moins les clés suivantes :
#  - "name", le nom du plugin sans la sous-chaîne ".jar".
#  - "url", pointant vers l'URL du fichier jar.
elasticsearch_other_plugins

Paramètres par défaut configurables par l'utilisateur :

# utiliser G1GC pour la JVM ?
elasticsearch_use_g1gc: false

# taille de la mémoire JVM pour Elasticsearch
elasticsearch_heap_size

Gestionnaires

  • redémarrer elasticsearch
  • stop elasticsearch

Utilisation

Étape 1 : ajouter le rôle

Ajoutez le nom du rôle williamyeh.elasticsearch à votre fichier de playbook.

Étape 2 : ajouter des variables

Définissez les variables dans votre fichier de playbook.

Exemple simple :

---
# fichier : simple-playbook.yml

- hosts: all

  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch

  vars:
    elasticsearch_version: 1.6.0

Étape 3 : ajuster la mémoire de la JVM, si nécessaire

---
- hosts: all

  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch

  vars:
    elasticsearch_version: 1.4.2

    elasticsearch_use_g1gc: true
    elasticsearch_heap_size: 6g

Étape 4 : copier le fichier de configuration de l'utilisateur, installer des plugins, etc., si nécessaire

Exemple plus pratique :

---
# fichier : complex-playbook.yml

- hosts: all

  roles:
    - williamyeh.oracle-java
    - williamyeh.elasticsearch

  vars:
    elasticsearch_version: 1.4.2

    elasticsearch_plugins:
      - elasticsearch/marvel/latest
      - lmenezes/elasticsearch-kopf

    elasticsearch_other_plugins:
      - name: analysis-ik
        url:  https://github.com/medcl/elasticsearch-rtf/raw/master/plugins/analysis-ik/elasticsearch-analysis-ik-1.2.6.jar
        memo: https://github.com/medcl/elasticsearch-analysis-ik

    #-- copier tel quel
    elasticsearch_conf_copy: "files/elasticsearch.yml"

    #-- copier via le système de modèles d'Ansible
    #elasticsearch_conf_template: "templates/elasticsearch.yml.j2"

Dépendances

Vos hôtes cibles doivent avoir JDK préinstallé. Vous pouvez utiliser williamyeh.oracle-java ou d'autres rôles existants dans Ansible Galaxy.

Licence

Sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Historique

Aucun.

À propos du projet

Install Elasticsearch

Installer
ansible-galaxy install William-Yeh.elasticsearch
Licence
mit
Téléchargements
190
Propriétaire