Available in: Ultimate/EE
Included in extensions: Managed Services
The module lifecycle stage: Preview
The module has requirements for installation
The managed-rabbit module lets cluster users deploy RabbitMQ message brokers in their namespaces
without operating RabbitMQ themselves.
Cluster administrators define which instance sizes and settings are allowed, and the module deploys,
configures and monitors the state of each instance.
A user describes an instance with a Rabbit object. Each Rabbit object references a RabbitClass: a cluster-wide set of rules created by the administrator. The module checks the Rabbit object against its class, deploys RabbitMQ and reports the result in the object status.
Main features
- Deploy a RabbitMQ instance from a single manifest with the CPU, memory and disk size you need.
- Get a ready Service and a Secret with generated credentials for connecting applications.
- Enable TLS for client connections with a certificate from cert-manager or with your own certificate.
- Limit instance sizes and RabbitMQ settings available to users with RabbitClass rules and CEL expressions.
- Place RabbitMQ pods on dedicated nodes with node selectors, node affinity and tolerations set in the class.
- Track the deployment and configuration state through conditions in the Rabbit object status.
How the module works
The module processes a Rabbit object in the following order:
- A user creates a Rabbit object in a namespace.
- The module checks the requested resources and settings against the RabbitClass that the object references. An object that does not pass the check is rejected with an error message.
- The module creates a Secret with credentials, a persistent volume, the RabbitMQ configuration and a TLS certificate if TLS is enabled.
- The module starts RabbitMQ and creates a Service for client connections.
- The module updates the conditions in the Rabbit object status.
When all conditions are
True, the instance is ready for connections.
The instructions for users are in the user guide, the instructions for administrators are in the administrator guide.
Limitations
The module has the following limitations:
| Limitation | Value |
|---|---|
| RabbitMQ version | 4.3.5 |
| RabbitMQ servers per Rabbit object | 1, without clustering and replication |
| Ports available through the Service | AMQP 5672 without TLS or AMQPS 5671 with TLS. The management interface and metrics are not available through the Service |
| RabbitMQ settings available to users | maxMessageSize |