Skip to content

Installing RabbitMQ for MQTT

This section explains the steps to configure RabbitMQ for MQTT. It highlights the differences between the old RabbitMQ clusters (which need the x-delayed-message plugin) and the new one (which supports MQTT).

  • Older RabbitMQ clusters are still in use, requiring the x-delayed-message plugin for both connectivity and IoT exchanges.
  • The new RabbitMQ cluster provides MQTT functionality but is not yet integrated with the older version.

Prerequisites

The following requirements must be fulfilled for proceeding:

  • Chart repository
  • Chart version: 11.2.0
  • App version: 3.11.4
  • CPU: 1000m
  • Memory: 2Gi

Updating parameters

Info

  • Ensure the MQTT ___domain is accessible from the device network.
  • Use MQTT explorer to verify the MQTT functionality and ensure it operates as expected.

Update the following parameters in the values.yaml file.

* global.storageClass
* auth.username
* auth.password
* auth.erlangCookie
* **TLS settings**:
    * auth.tls.enabled
    * auth.tls.failIfNoPeerCert
    * auth.tls.sslOptionsVerify
    * auth.tls.caCertificate
    * auth.tls.serverCertificate
    * auth.tls.serverKey (Important)
* **Memory settings**:
    * memoryHighWatermark.enabled
    * memoryHighWatermark.type
    * memoryHighWatermark.value
* extraPlugins
* clustering.forceBoot
* extraConfiguration
* advancedConfiguration
* **Replica and service settings**:
    * replicaCount
    * affinity
    * tolerations
    * resources
    * service.type
    * service.nodePorts.manager
    * service.extraPorts
* **Ingress settings**:
    * ingress.enabled
    * ingress.hostname
    * ingress.tls
    * ingress.extraTls
    * ingress.secrets

Last update: February 13, 2025