Difficulty: Introduction
Estimated Time: 10 minutes

RabbitMQ on Kubernetes

RabbitMQ

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

Conclusion

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 scenarios you have learned 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

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.

References

Don’t stop now! The next scenario will only take about 10 minutes to complete.

RabbitMQ

Step 1 of 3

Kubernetes Running for You

As you see, your Kubernetes cluster based on Minikube is will be available in a moment. Verify it's ready for your use:

minikube version && minikube status

Notice that while Minikube is running, there is nothing deployed except for a single service/kubernetes item,

kubectl get deployments,pods,services

and no services are listed.

minikube service list --namespace default

A clean slate, let's deploy our first application.

Terminal
Kubernetes Dashboard
RabbitMQ Portal