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).

À propos du projet

Deploy a RabbitMQ cluster or a single node, supports firewalld and SSL

Installer
ansible-galaxy install uoi-io.rabbitmq
Licence
apache-2.0
Téléchargements
73