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:
-
Fetch the Bitnami RabbitMQ Helm chart version 12.1.3 by running the following command.
helm fetch bitnami/rabbitmq --version=12.1.3
-
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
-
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.