Skip to main content
Version: 2.0.2

Référence API RabbitMQ

Cette référence détaille la configuration et le fonctionnement des clusters RabbitMQ sur Hikube, incluant la gestion des utilisateurs, des vhosts, et des queues. Les déploiements s’appuient sur l’opérateur officiel RabbitMQ, garantissant une gestion simplifiée, hautement disponible et conforme aux bonnes pratiques du projet upstream.


Structure de Base

Ressource RabbitMQ

Exemple de configuration YAML

apiVersion: apps.cozystack.io/v1alpha1
kind: RabbitMQ
metadata:
name: rabbitmq
namespace: tenant-x
spec:
replicas: 3
resourcesPreset: small
size: 10Gi
storageClass: replicated
users:
admin:
password: "strongpassword"
vhosts:
default:
roles:
admin: ["admin"]

Paramètres

Paramètres Communs

ParamètreTypeDescriptionDéfautRequis
externalboolActive l’accès externe au cluster RabbitMQ (exposition hors du cluster)falseNon
replicasintNombre de réplicas RabbitMQ (nœuds du cluster)3Oui
resourcesobjectConfiguration explicite CPU et mémoire pour chaque réplique RabbitMQ{}Non
resources.cpuquantityCPU disponible par répliquenullNon
resources.memoryquantityRAM disponible par répliquenullNon
resourcesPresetstringPreset de ressources (nano, micro, small, medium, large, xlarge, 2xlarge)"small"Oui
sizequantityTaille du volume persistant utilisé pour les données RabbitMQ10GiOui
storageClassstringStorageClass utilisé pour stocker les données RabbitMQ""Non

Exemple YAML

rabbitmq.yaml
replicas: 3
resourcesPreset: medium
size: 20Gi
storageClass: replicated
external: true

Paramètres Utilisateurs

ParamètreTypeDescriptionDéfautRequis
usersmap[string]objectListe des utilisateurs RabbitMQ{}Oui
users[name].passwordstringMot de passe de l’utilisateurnullOui

Exemple YAML

rabbitmq.yaml
users:
admin:
password: "securepassword"
app:
password: "apppassword123"

Paramètres Virtual Hosts (vhosts)

ParamètreTypeDescriptionDéfautRequis
vhostsmap[string]objectListe des virtual hosts RabbitMQ{}Non
vhosts[name].rolesobjectRôles et permissions associés à ce virtual host{}Non
vhosts[name].roles.admin[]stringListe des utilisateurs ayant un accès administrateur sur ce vhost[]Non
vhosts[name].roles.readonly[]stringListe des utilisateurs avec accès lecture seule[]Non

Exemple YAML

rabbitmq.yaml
vhosts:
"default":
roles:
admin: ["admin"]
readonly: ["app"]
"analytics":
roles:
admin: ["admin"]
readonly: ["analyst"]

resources et resourcesPreset

Le champ resources permet de définir explicitement la configuration CPU et mémoire de chaque réplique RabbitMQ. Si ce champ est laissé vide, la valeur du paramètre resourcesPreset est utilisée.

Exemple YAML

rabbitmq.yaml
resources:
cpu: 4000m
memory: 4Gi

⚠️ Si resources est défini, la valeur de resourcesPreset est ignorée.

Preset nameCPUMémoire
nano100m128Mi
micro250m256Mi
small500m512Mi
medium500m1Gi
large12Gi
xlarge24Gi
2xlarge48Gi

🔗 Références externes