nkakouros.elasticsearch
ansible-role-elasticsearch
Installiert und konfiguriert Elasticsearch.
Beschreibung
Dieses Role wird auf eine konfigurierbare Weise:
- Elasticsearch installieren
- Elasticsearch konfigurieren
- http- und Transport-TLS konfigurieren
- Passwörter für integrierte Benutzer festlegen
- alle oben genannten Informationen mit dem Ansible-Controller synchronisieren, um sie später zu verwenden
Die Konfiguration erfolgt über ein YAML-Dictionary (elastic_config
), sodass jede standardmäßige Konfiguration, die durch dieses Role durchgeführt wird, durch die Definition der entsprechenden Schlüssel in elastic_config
überschrieben werden kann.
Anforderungen
Keine
Abhängigkeiten
- Java muss auf dem Zielsystem installiert sein.
- Zertifikate müssen für die Verwendung durch Elasticsearch erstellt werden (wenn Sie verschlüsselte Kommunikation aktivieren möchten).
Sie können andere Ansible-Rollen verwenden, um diese Aufgaben auszuführen, wie z.B. geerlingguy.java und nkakouros.easyrsa. Siehe das Beispiel-Playbook.
Rollenvariablen
Schauen Sie sich die defaults/main.yml Datei für die Variablen dieser Rolle und deren Dokumentation an.
Standardmäßig installiert die Rolle einfach Elasticsearch und startet Elasticsearch als Master-, Daten- und Ingest-Node.
Vergleich mit anderen Rollen
Vor der Erstellung dieser Rolle habe ich versucht, die folgenden zwei Rollen für meine Projekte zu verwenden:
- https://github.com/geerlingguy/ansible-role-elasticsearch
- https://github.com/elastic/ansible-elasticsearch
Sie waren jedoch nicht für meine Bedürfnisse geeignet. Die erste war zu einfach, und PRs, um Funktionen hinzuzufügen, werden wahrscheinlich monatelang oder sogar jahrelang in der PR-Warteschlange feststecken. Die zweite war mir zu unordentlich, mit altem und schwer lesbarem Ansible-Code, viel Ballast aus früheren Elasticsearch-Versionen und verwirrender Dokumentation.
Beispiel-Playbook
Dies ist ein minimales Playbook, um Elasticsearch so schnell wie möglich ohne Zertifikate zu installieren, zu Entwicklungszwecken.
- hosts: elastic-server
roles:
- nkakouros.elasticsearch
Für ein vollständiges Beispiel, wie man eine vollständige ELK-Installation konfiguriert und installiert (von der Sie auswählen können, was für Ihren Anwendungsfall relevant ist), siehe den Ordner molecule/default/. In diesem Ordner enthält die prepare.yml Datei ein Playbook, das Abhängigkeiten installiert, die diese Rolle benötigen wird. Die playbook.yml Datei enthält ein vollständiges und komplexes Beispiel, wie man diese Rolle speziell verwendet.
Lizenz
GPLv3
Autoreninformation
Nikolaos Kakouros (nkak@kth.se)
ansible-galaxy install nkakouros.elasticsearch