/rabbitmq-peer-discovery-k8s

Kubernetes-based peer discovery mechanism for RabbitMQ

Primary LanguageErlangOtherNOASSERTION

RabbitMQ Peer Discovery Kubernetes

This is an K8s-based implementation of RabbitMQ peer discovery interface (new in 3.7.0, previously available in the rabbitmq-autocluster plugin by Gavin Roy).

This plugin only performs peer discovery using Kubernetes API as a data source. Please get familiar with RabbitMQ clustering fundamentals before attempting to use it.

Cluster provisioning and most of Day 2 operations such as proper monitoring are not in scope for this plugin.

Supported RabbitMQ Versions

This plugin ships with RabbitMQ 3.7.0 or later.

Installation

This plugin ships with supported RabbitMQ versions. There is no need to install it separately.

As with any plugin, it must be enabled before it can be used. For peer discovery plugins it means they must be enabled or preconfigured before first node boot:

rabbitmq-plugins --offline enable rabbitmq_peer_discovery_k8s

Documentation

See RabbitMQ Cluster Formation guide for an overview of the peer discovery subsystem, general and Kubernetes-specific configurable values and troubleshooting tips.

Example deployments that use this plugin can be found under examples. Note that they are just that, examples, and won't be optimal for every use case or cover a lot of important production system concerns such as monitoring, persistent volume settings, access control, sizing, and so on.

Contributing

See CONTRIBUTING.md and our development process overview.

License

Licensed under the MPL, same as RabbitMQ server.

Copyright

(c) 2007-2020 VMware, Inc. or its affiliates.