Difficulty: Introduction
Estimated Time: 10 minutes

RabbitMQ on Kubernetes


Robust messaging for applications to connect and scale.

These next steps provide an ideal place to start deploying and running your first application on Kubernetes. With a Kubernetes cluster based on Minikube and a CLI tool called kubectl, a few steps will get a RabbitMQ running.

You will learn how:

  • to use the basics of the kubectl CLI tool
  • to install RabbitMQ on Kubernetes
  • containers are deployed as Deployments in Pods
  • a Service can provide access to a replication of Pods

RabbitMQ is an open source message broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), Message Queuing Telemetry Transport (MQTT), and other protocols.

The RabbitMQ server program is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages. -- Wikipedia


You now understand how to run a basic configuration of RabbitMQ on Kubernetes. Actual production deployment can certainly be more complex to support persistence and higher availability. If the existing Helm chart is insufficient, consider contributing to the project or create one for your own needs.

Lessons Learned

With these steps you have learned:

  • how to use the basics of the kubectl CLI tool,
  • how to install RabbitMQ on Kubernetes,
  • how containers are deployed as Deployments in Pods,
  • how a Service can provide access to a replication of Pods.

Hopefully you also understand how Kubernetes is a new type of data center operating system that can run your applications - across multiple nodes on your local laptop, a rack of servers, or any cloud target. If you are considering deploying multiple containers that make up a larger solution consider layering on Helm as a package manager for these manifests.


No Fluff Just Stuff

For a deeper understanding of these topics and more join me, Jonathan Johnson, for a transcendent experience on the No Fluff Just Stuff Software Symposium Tour.


Step 1 of 3

Your Kubernetes Cluster

As you see, your Kubernetes cluster is started. Verify it's ready for your use.

kubectl version && kubectl cluster-info && kubectl get nodes

Verify the Kubernetes cluster is empty.

kubectl get deployments,pods,services

The Helm package manager used for installing applications on Kubernetes is also available.

helm version

Kubernetes Dashboard
RabbitMQ Portal