Pivotal RabbitMQ for Kubernetes (Beta)
Page last updated:
Warning: Pivotal RabbitMQ for Kubernetes is currently in beta and is intended for evaluation and test purposes only. Do not use this product in a production environment.
Pivotal RabbitMQ for Kubernetes is a Kubernetes Operator that automates provisioning, managing, and operating RabbitMQ clusters running on Kubernetes.
Kubernetes Operators are software extensions to Kubernetes that make use of custom resources to manage apps and their components. For general information about Operators, see the Kubernetes documentation.
RabbitMQ for Kubernetes provides a consistent and easy way to deploy RabbitMQ clusters to Kubernetes and manage their lifecycle. RabbitMQ clusters can be accessed by apps running on Kubernetes, Pivotal Application Service, or elsewhere.
RabbitMQ for Kubernetes has two main components:
- A Kubernetes Operator that automates the provision, management, and operations of RabbitMQ clusters
- (Optional) An OSBAPI-compliant service broker for integration with Pivotal Platform
When combined with Pivotal Application Service, RabbitMQ for Kubernetes enables you to create and
bind RabbitMQ clusters with single commands.
cf create-service to create RabbitMQ clusters
cf bind-service to bind them to a Pivotal Application Service-deployed app.
RabbitMQ for Kubernetes includes the following key features:
- Provisioning of single-node and three-node RabbitMQ clusters
- Automatic reconciliation of deployed clusters whenever their actual state does not match the expected state
- Integration with Pivotal Platform through an OSBAPI-compliant service broker
- Monitoring of RabbitMQ clusters through Prometheus and Grafana. For more information, see the Prometheus and Grafana documentation.
Automated upgrades of RabbitMQ clusters, another key feature, is planned for a later update.
The following table provides version and version-support information about RabbitMQ for Kubernetes.
|Release date||October 28, 2019|
|Software component version||RabbitMQ OSS 3.8.0|
RabbitMQ for Kubernetes has the following requirements:
- RabbitMQ for Kubernetes requires a v1.14 or later Kubernetes cluster
The following section lists limitations of RabbitMQ for Kubernetes.
- This product is currently in beta. Pivotal does not provide commercial support.
- This product is intended to be used with any Kubernetes distribution. However, given the number of Kubernetes vendors, versions, and configurations, not all of them have been tested with RabbitMQ for Kubernetes.
- Product upgrades are not supported. If you want to test a newer version, delete the previous version first.
After you create a RabbitMQ cluster, you cannot update the cluster or any of its child objects.
Child objects include
If you try to update any of the configurations, there is no effect.
Service objects are re-created if you delete them.
Secret objects are not re-created automatically.
If you delete
Secret objects, you must manually re-create the secret or delete and re-create the cluster.
Due to the eventually-consistent design of Kubernetes, the service broker cannot detect when a deployment:
- Is taking a long time but will eventually succeed
- Has failed temporarily but could succeed on another attempt
- Has failed permanently and needs human intervention to succeed
Because of this, the service broker never returns a
deployment failed status and instead returns
create in progress.
For more information, see Troubleshooting Pivotal RabbitMQ for Kubernetes.
If you have a feature request, questions, or information about an issue, please email RabbitMQ for Kubernetes Feedback.