marcobellaccini.ansible_rabbitmq_minimalistic

ansible-rabbitmq-minimaliste

État de construction

Rôle Ansible RabbitMQ minimaliste, mais puissant et permettant le clustering.

Écrit pour Debian 10 (peut fonctionner sur d'autres versions et distributions également - dans ce cas, merci de me le faire savoir).

Variables de rôle

En plus des valeurs par défaut du rôle (auxquelles vous pouvez vous référer à ce fichier), vous voudrez probablement déployer votre fichier rabbitmq.conf personnalisé sur les serveurs.

Vous pouvez faire en sorte que le rôle génère et déploie votre fichier rabbitmq.conf en définissant la variable rabbitmq_conf_template :

rabbitmq_conf_template: "chemin/vers/rabbitmq.conf.j2"

Le chemin est relatif au répertoire du playbook.

De cette manière, vous pouvez également déployer un cluster RabbitMQ simplement en utilisant la variable de serveur cluster_formation.classic_config.nodes dans rabbitmq.conf.

Par exemple, vous pouvez utiliser un modèle rabbitmq.conf.j2 comme ceci :

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

Pour activer le clustering, vous devez configurer les hôtes avec le même cookie Erlang.

Pour cela, vous pouvez utiliser la variable rabbitmq_erlang_cookie (veuillez envisager d'utiliser Ansible Vault pour chiffrer le cookie).

Lors du clustering, vous devez également définir serial: 1 dans votre playbook (sinon, des problèmes peuvent survenir lors de la formation du cluster).

Vous pouvez également activer les plugins RabbitMQ en spécifiant et en déployant simplement un fichier enabled_plugins RabbitMQ à partir d'un modèle :

rabbitmq_enabled_plugins_template: "chemin/vers/enabled_plugins.j2"

Encore une fois, le chemin est relatif au répertoire du playbook.

Pour d'autres variables, voir Valeurs par défaut du rôle.

Ce rôle vise à être minimaliste : pour effectuer des configurations avancées, vous pouvez utiliser Modules RabbitMQ Ansible.

Exemple de Playbook

- hosts: msgservers
  serial: 1  # ceci est requis uniquement si vous déployez un cluster RabbitMQ
  roles:
     - ansible-rabbitmq-minimaliste
  vars:
    rabbitmq_conf_template: "my_rabbit_conf/rabbitmq.conf.j2"  # ceci est optionnel
    rabbitmq_enabled_plugins_template: "my_rabbit_conf/enabled_plugins.j2"  # ceci est optionnel
    rabbitmq_erlang_cookie: "XXXXXXXXXXXXXXXXXXXX"  # Requis pour le clustering. REMARQUE : ceci est juste un exemple : veuillez utiliser Ansible Vault !

Licence

Licence Apache 2.0

Informations sur l'auteur

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

https://github.com/marcobellaccini

À propos du projet

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

Installer
ansible-galaxy install marcobellaccini.ansible_rabbitmq_minimalistic
Licence
apache-2.0
Téléchargements
88
Propriétaire
Infrastructure, security and automation at RAI - Italian national public broadcasting company. Personal account.