uoi-io.rabbitmq
Ansible RabbitMQ (prêt pour OpenStack)
Ce module permet l'installation de RabbitMQ.
Distributions supportées :
- CentOS 7.x
- RedHat EL 7.x
- Debian 7.x/8.x
Deux méthodes sont prises en charge :
- Déployer un nœud unique RabbitMQ
- Déployer un cluster HA RabbitMQ
Exigences
Ce module nécessite au moins 3 nœuds et Ansible 1.9.
Variables de rôle
rabbitmq_fd_limits
augmentera la limite des descripteurs de fichiers pour le service RabbitMQ.
CONFIG
rabbitmq_admin_password: 'MonP4sse3tr0ng'
rabbitmq_env_vars: true
rabbitmq_firewalld: true
rabbitmq_management_plugin: true
rabbitmq_bind_address: 0.0.0.0
rabbitmq_port: 5672
rabbitmq_fd_limits: 4096
rabbitmq_vm_memory: 0.4
rabbitmq_vm_memory_ratio: 0.5
rabbitmq_mem_relative: 1.0
rabbitmq_heartbeat: 10
CLUSTER
Deux autres variables doivent être déclarées lors de l'utilisation du clustering :
master: node-1
rabbitmq_master_name: node-1
Ces deux variables permettent de définir qui est le maître et quel nom doit avoir le nœud maître.
Lorsque la variable rabbitmq_reset_cluster
est réglée sur true, la tâche détruira le cluster en cours et supprimera toutes les données liées à ce cluster.
rabbitmq_clustering: true
rabbitmq_cluster_name: 'rabbit'
rabbitmq_reset_cluster: false
rabbitmq_erlang_cookie: 'AbCd3rl4ngC00k13WxYz'
SSL
Si vous souhaitez utiliser SSL, vous devrez générer votre propre certificat.
rabbitmq_ssl: false
rabbitmq_cacert_file: etc/rabbitmq/ssl/cacert.pem
rabbitmq_cert_file: etc/rabbitmq/ssl/cert.pem
rabbitmq_key_file: etc/rabbitmq/ssl/key.pem
rabbitmq_ssl_bind_address: 0.0.0.0
rabbitmq_ssl_port: 5671
VHOSTS
Veuillez consulter le module rabbitmq_vhost : http://docs.ansible.com/ansible/rabbitmq_vhost_module.html
rabbitmq_vhost_list:
- name: glance
- name: nova
UTILISATEURS
Veuillez consulter le module rabbitmq_user : http://docs.ansible.com/ansible/rabbitmq_user_module.html
rabbitmq_users_list:
- vhost: glance
user: glance
password: "{{ rabbitmq_glance_password | default('gl4nc3p4ssw0rd') }}"
- vhost: /
user: admin
password: "{{ rabbitmq_admin_password }}"
tags:
- administrator
POLITIQUES
Veuillez consulter le module rabbitmq-policy : http://docs.ansible.com/ansible/rabbitmq_policy_module.html
rabbitmq_policies_list:
- name: HA-Glance
pattern: .*
tags:
ha-mode: all
vhost: glance
- name: HA
pattern: .*
tags:
ha-mode: all
vhost: /
Dépendances
Aucune.
Exemple de Playbook
Veuillez consulter la section "Variables de rôle" pour avoir quelques exemples.
Nœud unique
rabbitmq_admin_password: 'MonP4sse3tr0ng'
rabbitmq_firewalld: true
rabbitmq_management_plugin: true
rabbitmq_bind_address: 0.0.0.0
rabbitmq_port: 5672
rabbitmq_users_list:
- vhost: /
user: admin
password: "{{ rabbitmq_admin_password }}"
tags:
- administrator
Cluster
rabbitmq_conf_env:
USE_LONGNAME=true
master: node-1.fqdn.org
rabbitmq_master_name: node-1
rabbitmq_admin_password: 'MonP4sse3tr0ng'
rabbitmq_firewalld: true
rabbitmq_management_plugin: true
rabbitmq_bind_address: 0.0.0.0
rabbitmq_port: 5672
rabbitmq_clustering: true
rabbitmq_cluster_name: 'rabbit'
rabbitmq_reset_cluster: false
rabbitmq_erlang_cookie: 'AbCd3rl4ngC00k13WxYz'
rabbitmq_users_list:
- vhost: /
user: admin
password: "{{ rabbitmq_admin_password }}"
tags:
- administrator
rabbitmq_vhost_list:
- name: glance
rabbitmq_policies_list:
- name: HA-Glance
pattern: .*
tags:
ha-mode: all
vhost: glance
- name: HA
pattern: .*
tags:
ha-mode: all
vhost: /
Licence
Apache
Informations sur l'auteur
Ce rôle a été créé en 2016 par Gaëtan Trellu (goldyfruit).
Deploy a RabbitMQ cluster or a single node, supports firewalld and SSL
ansible-galaxy install uoi-io.rabbitmq