Skip to content

Installing RabbitMQ

This section explains the steps to install RabbitMQ using the Bitnami Helm chart (version 12.1.3) in a Kubernetes environment. It includes fetching the chart, configuring parameters in the values.yaml file and installing RabbitMQ with Helm.

Prerequisites

The following requirements must be fulfilled to proceed with the installation of RabbitMQ:

  • Ensure that Helm is installed.
  • Access to a Kubernetes cluster.
  • Ensure that you have the necessary permissions to install resources in the desired namespace.

To install Rabbitmq, follow the steps:

  1. Fetch the Bitnami RabbitMQ Helm chart version 12.1.3 by running the following command.

    helm fetch bitnami/rabbitmq --version=12.1.3
    
  2. Update the following parameters in the values.yaml file.

    Note: If upgrading in a different environment, ensure to update the required parameters in the values.yaml file based on your environment.

    Name Description Value
    global.storageClass Global StorageClass for Persistent Volume(s) "longhorn-ssd"
    auth.username RabbitMQ application username admin
    auth.password RabbitMQ application password "your own password"
    auth.erlangCookie Erlang cookie to determine whether different nodes are allowed to communicate with each other "MyrabbitmqErlangCookie"
    memoryHighWatermark.enabled Enable configuring Memory high watermark on RabbitMQ true
    memoryHighWatermark.value Memory high watermark value 0.5
    plugins List of default plugins to enable (should only be altered to remove defaults; for additional plugins use extraPlugins) rabbitmq_management rabbitmq_peer_discovery_k8s rabbitmq_auth_backend_cache rabbitmq_auth_backend_http
    extraPlugins Extra plugins to enable (single string containing a space-separated list) rabbitmq_auth_backend_ldap rabbitmq_shovel rabbitmq_shovel_management rabbitmq_federation rabbitmq_federation_management
    replicaCount Number of RabbitMQ replicas to deploy 3
    affinity Affinity for pod assignment. Evaluated as a template {"nodeAffinity": {"requiredDuringSchedulingIgnoredDuringExecution": {"nodeSelectorTerms": [{"matchExpressions": [{"key": "iaas","operator": "In","values": ["true"]}]}]}}}
    tolerations Tolerations for pod assignment. Evaluated as a template [{"effect": "NoSchedule", "key": "domain", "operator": "Equal", "value": "iaas"}]
    resources.limits The resources limits for RabbitMQ containers {"cpu": "1", "memory": "4Gi"}
    resources.requests The requested resources for RabbitMQ containers {"cpu": "1", "memory": "2Gi"}
    persistence.size PVC Storage Request for RabbitMQ data volume 30Gi
    service.type Kubernetes Service type NodePort
    service.nodePorts.manager Node port for RabbitMQ Manager "31672"
    metrics.enabled Enable exposing RabbitMQ metrics to be gathered by Prometheus true
    metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator true
  3. Install RabbitMQ using the following command.

    helm -n mdsp-bk-rabbitmq install rabbitmq-ha ./
    

Reference

For more information, refer to the Bitnami RabbitMQ Helm Chart.


Last update: January 31, 2025