Aller au contenu principal

Créer un cluster RabbitMQ en 5 minutes

Ce guide vous accompagne dans la création de votre premier cluster RabbitMQ depuis la console Hikube, jusqu'à l'envoi d'un premier message.


Objectifs​

À la fin de ce guide, vous aurez :

  • Un cluster RabbitMQ opérationnel dans votre projet
  • Un vhost et un utilisateur avec ses droits
  • Le mot de passe de cet utilisateur et l'adresse de connexion du cluster
  • Un premier message publié avec un client AMQP

Prérequis​

  • Un compte Hikube et un projet (voir le démarrage rapide Hikube)
  • Un quota de projet suffisant pour le cluster (CPU, mémoire et stockage)
  • Python 3 avec le module pika installé, pour le test de l'étape 5 (pip install pika)
  • Pour l'onglet API : une clé d'API admin du projet et les variables HIKUBE_API, HIKUBE_API_KEY et PROJECT_ID (voir Préparer l'environnement) ; les exemples utilisent curl et jq

Étape 1 : Ouvrir l'assistant de création​

  1. Connectez-vous à la console Hikube et sélectionnez votre projet.
  2. Dans le menu latéral, ouvrez DB & Messaging → RabbitMQ. La page Clusters RabbitMQ s'affiche.
  3. Cliquez sur Créer un cluster. L'assistant Créer un cluster RabbitMQ s'ouvre.

Étape 2 : Configurer et créer le cluster​

L'assistant comporte cinq étapes. Un bandeau affiche le coût estimé et, à l'étape Configuration, la consommation de quota du projet.

Général​

Saisissez le Nom du cluster (un nom est proposé par défaut). Il doit comporter 3 à 16 caractères : minuscules, chiffres et tirets, commencer par une lettre et se terminer par une lettre ou un chiffre. Exemple : rabbit-demo.

Configuration​

ChampValeur conseillée pour ce guideRemarque
Version RabbitMQ4.2Versions proposées : 4.2, 4.1, 4.0, 3.13
Préconfiguration (Preset)s1.small — 1 CPU / 2GiAucun preset n'est présélectionné ; non modifiable après création
Taille du disque (Go)10Capacité par nœud
Nombre de réplicas3 (Haute disponibilité max)1 (Standalone), 3 ou 5 ; non modifiable après création
Accès externeActivéExpose le cluster sur Internet ; nécessaire pour le test depuis votre poste
remarque

Si le quota de stockage du projet est dépassé, la console affiche « Quota de stockage dépassé pour ce projet » et le bouton Suivant reste inactif. Réduisez la taille ou le nombre de réplicas, ou faites augmenter le quota du projet.

VHosts​

Saisissez un Nom du VHost (par exemple demo ; minuscules, chiffres et tirets, en commençant par une lettre et en terminant par une lettre ou un chiffre) puis cliquez sur Ajouter. Au moins un vhost est nécessaire pour passer à l'étape suivante.

Utilisateurs​

  1. Dans Ajouter un nouvel utilisateur, saisissez le Nom de l'utilisateur (par exemple app-user ; minuscules, chiffres et tirets).
  2. Dans Accès aux VHosts, choisissez Administrateur pour le vhost demo.
  3. Cliquez sur Ajouter l'utilisateur.

Au moins un utilisateur est nécessaire pour continuer.

Vérification​

Relisez le récapitulatif (nom, version, préconfiguration, réplicas, taille, réseau Public ou Privé, coût estimé, nombre de vhosts et d'utilisateurs à créer), puis cliquez sur Déployer.

Résumé : copier le mot de passe​

À la fin du déploiement, l'écran Résumé affiche Création terminée ! et, pour chaque utilisateur créé, son Mot de passe.

Mot de passe affiché une seule fois

Copiez le mot de passe immédiatement et conservez-le dans un gestionnaire de mots de passe. Il ne sera plus affiché après avoir quitté cet écran. En cas de perte, générez-en un nouveau avec l'action Changer le mot de passe (voir Gérer les vhosts et utilisateurs).

Cliquez ensuite sur Terminer pour revenir à la liste des clusters.


Étape 3 : Vérifier l'état du cluster​

  1. Dans la liste Clusters RabbitMQ, le cluster apparaît avec le statut En création, puis Prêt lorsqu'il est opérationnel.
  2. Cliquez sur le cluster pour ouvrir sa page de détail :
    • Informations générales : Version, Réplicas, Taille du volume ;
    • VHosts et Utilisateurs : les éléments créés par l'assistant ;
    • Connexion : les zones d'adresses Interne et Externe, et le Statut.

Étape 4 : Récupérer les identifiants​

Pour vous connecter, il vous faut :

InformationOù la trouver
Nom d'utilisateurSection Utilisateurs de la page du cluster
Mot de passeCopié à l'écran Résumé de l'assistant (étape 2)
VHostSection VHosts de la page du cluster
HôteSection Connexion : zone Interne depuis le projet, zone Externe depuis Internet
Port5672 (AMQP)

La zone Interne affiche toujours l'hôte interne du cluster, joignable depuis les VM et les clusters Kubernetes du projet. La zone Externe affiche l'adresse publique lorsque l'Accès externe est activé ; sinon elle indique Désactivé, et « En attente d'attribution… » tant que l'adresse n'est pas attribuée. Copiez l'adresse avec le bouton de copie.

L'écran Résumé de l'assistant affiche aussi, lorsque l'hôte est déjà connu, une chaîne de connexion de la forme :

amqp://app-user:<password>@<hôte>:5672

Étape 5 : Connexion et test​

Créez le script suivant en remplaçant l'hôte et le mot de passe par vos valeurs :

test_rabbitmq.py
import pika

credentials = pika.PlainCredentials('app-user', '<password>')
parameters = pika.ConnectionParameters(
host='<hôte>',
port=5672,
virtual_host='demo',
credentials=credentials,
)

connection = pika.BlockingConnection(parameters)
channel = connection.channel()

# Déclaration d'une quorum queue (répliquée sur les nœuds du cluster)
channel.queue_declare(queue='test', durable=True, arguments={'x-queue-type': 'quorum'})

# Envoi d'un message
channel.basic_publish(exchange='', routing_key='test', body='Hello Hikube!')
print("Message envoyé avec succès")

# Lecture du message
method, properties, body = channel.basic_get(queue='test', auto_ack=True)
print(f"Message reçu : {body.decode()}")

connection.close()
python test_rabbitmq.py

Résultat attendu :

Message envoyé avec succès
Message reçu : Hello Hikube!

Étape 6 : Dépannage rapide​

SymptômeCauses fréquentesAction
Le cluster reste En créationProvisionnement en coursPatientez quelques minutes ; si le statut ne change pas, consultez le dépannage
Statut ErreurLa plateforme n'a pas pu appliquer la création ou la dernière modification du clusterContactez le support en indiquant le nom et l'identifiant du cluster
ACCESS_REFUSED à la connexionMot de passe erroné, ou utilisateur sans droit sur le vhostVérifiez le vhost dans Gérer les accès ; régénérez le mot de passe si nécessaire
Connexion impossible (timeout)Accès externe désactivé, mauvais hôte ou portVérifiez la zone Externe de la section Connexion (depuis le projet, la zone Interne) ; le port AMQP est 5672
NOT_FOUND - no vhostNom de vhost incorrect dans le clientUtilisez exactement le nom affiché dans la section VHosts

Étape 7 : Nettoyage​

  1. Ouvrez la page de détail du cluster et cliquez sur Supprimer (ou, depuis la liste, ouvrez le menu d'actions du cluster et choisissez Supprimer le cluster).
  2. Dans la fenêtre de confirmation, saisissez le nom exact du cluster dans Nom de la ressource à confirmer.
  3. Cliquez sur Supprimer définitivement.
attention

Cette action est irréversible : le cluster, ses vhosts, ses utilisateurs et tous les messages stockés sont définitivement supprimés.


Résumé​

Vous avez créé depuis la console :

  • Un cluster RabbitMQ de 3 nœuds en haute disponibilité
  • Un vhost et un utilisateur administrateur de ce vhost
  • Une connexion AMQP fonctionnelle depuis votre poste