marcobellaccini.ansible_rabbitmq_minimalistic

ansible-rabbitmq-minimalistisch

Build-Status

Minimalistische, aber leistungsstarke und clustering-fähige RabbitMQ Ansible-Rolle.

Geschrieben für Debian 10 (funktioniert möglicherweise auch auf anderen Versionen und Distributionen - falls ja, lass es mich bitte wissen).

Rollenvariablen

Neben den Standardwerten der Rolle (auf die Sie sich beziehen können in dieser Datei), möchten Sie wahrscheinlich Ihre eigene rabbitmq.conf Datei auf die Server bereitstellen.

Sie können die Rolle so konfigurieren, dass sie Ihre rabbitmq.conf Datei generiert und bereitstellt, indem Sie die Variable rabbitmq_conf_template definieren:

rabbitmq_conf_template: "pfad/zur/rabbitmq.conf.j2"

Der Pfad ist relativ zum Verzeichnis des Playbooks.

Auf diese Weise können Sie auch ein RabbitMQ-Cluster bereitstellen, indem Sie einfach die Servervariable cluster_formation.classic_config.nodes in rabbitmq.conf nutzen.

Zum Beispiel können Sie eine rabbitmq.conf.j2 Vorlage wie diese verwenden:

{% for host in ansible_play_hosts_all %}
cluster_formation.classic_config.nodes.{{ loop.index }} = rabbit@{{ hostvars[host]['inventory_hostname'] }}
{% endfor %}

Um das Clustering zu aktivieren, müssen Sie die Hosts mit dem gleichen Erlang-Cookie einrichten.

Dafür können Sie die Variable rabbitmq_erlang_cookie verwenden (bitte ziehen Sie in Betracht, Ansible Vault zu verwenden, um das Cookie zu verschlüsseln).

Beim Clustering müssen Sie auch serial: 1 in Ihrem Playbook festlegen (ansonsten können Probleme auftreten, wenn die Knoten versuchen, das Cluster zu bilden).

Sie können auch RabbitMQ-Plugins aktivieren, indem Sie einfach eine RabbitMQ enabled_plugins Datei aus einer Vorlage spezifizieren und bereitstellen:

rabbitmq_enabled_plugins_template: "pfad/zur/enabled_plugins.j2"

Auch hier ist der Pfad relativ zum Verzeichnis des Playbooks.

Für andere Variablen siehe Rollenstandards.

Diese Rolle zielt darauf ab, minimalistisch zu sein: Für erweiterte Konfigurationen können Sie Ansible RabbitMQ Module verwenden.

Beispiel-Playbook

- hosts: msgservers
  serial: 1  # dies ist nur erforderlich, wenn Sie ein RabbitMQ-Cluster bereitstellen
  roles:
     - ansible-rabbitmq-minimalistisch
  vars:
    rabbitmq_conf_template: "mein_rabbit_conf/rabbitmq.conf.j2"  # optional
    rabbitmq_enabled_plugins_template: "mein_rabbit_conf/enabled_plugins.j2"  # optional
    rabbitmq_erlang_cookie: "XXXXXXXXXXXXXXXXXXXX"  # erforderlich für Clustering. HINWEIS: dies ist nur ein Beispiel: bitte verwenden Sie Ansible Vault!

Lizenz

Apache Lizenz 2.0

Autoreninformation

Marco Bellaccini - marco.bellaccini[at!]gmail.com

https://github.com/marcobellaccini

Über das Projekt

Minimalistic, yet powerful and clustering-enabled RabbitMQ Ansible role.

Installieren
ansible-galaxy install marcobellaccini.ansible_rabbitmq_minimalistic
GitHub Repository
Lizenz
apache-2.0
Downloads
88
Besitzer
Infrastructure, security and automation at RAI - Italian national public broadcasting company. Personal account.