marcobellaccini.ansible_rabbitmq_minimalistic

ansible-rabbitmq-minimalistic

Status Kompilacji

Minimalistyczna, ale potężna rola Ansible do RabbitMQ z obsługą klastrowania.

Napisałem ją dla Debiana 10 (powinna działać również na innych wersjach i dystrybucjach - daj znać, jeśli tak będzie).

Zmienne Roli

Poza domyślnymi ustawieniami roli (z którymi możesz zapoznać się w tym pliku), prawdopodobnie zechcesz wdrożyć własny plik rabbitmq.conf na serwery.

Możesz sprawić, żeby rola wygenerowała i wdrożyła twój plik rabbitmq.conf, definiując zmienną rabbitmq_conf_template:

rabbitmq_conf_template: "path/to/rabbitmq.conf.j2"

Ścieżka jest względna względem katalogu playbooka.

Dzięki temu możesz także wdrożyć klaster RabbitMQ, korzystając z cluster_formation.classic_config.nodes w zmiennej serwera rabbitmq.conf.

Na przykład, możesz użyć szablonu rabbitmq.conf.j2 jak poniżej:

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

Aby włączyć klastrowanie, musisz ustawić hosty z tym samym ciasteczkiem Erlanga.

Możesz użyć zmiennej rabbitmq_erlang_cookie (rozważ użycie Ansible Vault do zaszyfrowania ciasteczka).

Podczas klastrowania musisz także ustawić serial: 1 w swoim playbooku (w przeciwnym razie węzły mogą napotykać problemy przy próbie utworzenia klastra).

Możesz także włączyć wtyczki RabbitMQ, po prostu określając i wdrażając plik enabled_plugins z szablonu:

rabbitmq_enabled_plugins_template: "path/to/enabled_plugins.j2"

Ponownie, ścieżka jest względem katalogu playbooka.

Aby zapoznać się z innymi zmiennymi, zobacz Domyślne Ustawienia Roli.

Ta rola ma na celu być minimalistyczna: aby wykonać zaawansowane konfiguracje, możesz użyć Modułów Ansible RabbitMQ.

Przykładowy Playbook

- hosts: msgservers
  serial: 1  # to jest wymagane tylko jeśli wdrażasz klaster RabbitMQ
  roles:
     - ansible-rabbitmq-minimalistic
  vars:
    rabbitmq_conf_template: "my_rabbit_conf/rabbitmq.conf.j2"  # to jest opcjonalne
    rabbitmq_enabled_plugins_template: "my_rabbit_conf/enabled_plugins.j2"  # to jest opcjonalne
    rabbitmq_erlang_cookie: "XXXXXXXXXXXXXXXXXXXX"  # Wymagane do klastrowania. UWAGA: to jest tylko przykład: użyj Ansible Vault!

Licencja

Licencja Apache 2.0

Informacje o autorze

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

https://github.com/marcobellaccini

O projekcie

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

Zainstaluj
ansible-galaxy install marcobellaccini.ansible_rabbitmq_minimalistic
Licencja
apache-2.0
Pobrania
88
Właściciel
Infrastructure, security and automation at RAI - Italian national public broadcasting company. Personal account.