HiveMQ Kubernetes Operator Early Access Preview: Simply Automate Your HiveMQ Deployments Today
Written by Margaretha Erber
Published: July 17, 2020
Over the last few years, Kubernetes has become one of the most popular operations environments across all major cloud platforms. As an open-source container orchestration engine, Kubernetes helps companies automate the deployment, scaling, and management of their software and applications. Here at HiveMQ, making sure it is as easy as possible for you to work with HiveMQ is always a top priority. We realize that deploying and managing HiveMQ clusters requires some deep knowledge and understanding of the product itself. How would it be, if you could profit from all our expertise in deploying and operating HiveMQ and concentrate completely on your use case?
Run HiveMQ as a cloud-native system on Kubernetes
Today we are thrilled to announce the availability of the early access preview version of our HiveMQ Kubernetes Operator. This Kubernetes operator significantly simplifies the deployment and operation of HiveMQ clusters on any Kubernetes based platform.
Implement production-ready HiveMQ on Kubernetes
The HiveMQ Kubernetes Operator is an enterprise-ready implementation of the operator pattern that can automate all your deployment and key lifecycle operations. For your convenience, the HiveMQ operator ships with custom defaults that are designed to meet the most common use cases. Naturally, our operator is customizable so that you can freely adjust everything to match your needs.
Helm chart for a quick start and easy updates
To get you started even faster, we are happy to provide a predefined HiveMQ Helm Chart. It takes just a few minutes to set up a HiveMQ cluster using the Helm charts. You can adapt the Helm charts to your individual specifications or simply begin with our predefined default settings.
Seamless, zero-downtime HiveMQ upgrades
When you upgrade software to a new version, maintaining service availability during the upgrade process can be a challenge. Rolling upgrades that update a cluster node by node are the best practice for avoiding any downtime. However, this method requires time-consuming manual interaction with the deployment. With the HiveMQ Kubernetes Operator, your upgrade process is automated straight out of the box and benefits from the HiveMQ zero downtime upgrade feature as well.
Extension lifecycle integration
One of HiveMQ’s outstanding features is its flexible and powerful extension framework. The HiveMQ Kubernetes Operator provides lifecycle management for all of your HiveMQ extensions. Enable and disable extensions at runtime, update your extension configurations without restarting the pods, and enjoy support for serial and parallel update strategies.
Effective automated monitoring with Prometheus
Although the deployment and operation of services can easily be automated, you still need to monitor the services. HiveMQ’s Kubernetes Operator provides smooth integration with the Prometheus Operator. All HiveMQ metrics are included in the integration and can be monitored with the tool of your choice. For example, with the Prometheus Operator’s built-in Grafana deployment.
Customizable configuration for any use case
Our customers implement a wide range of innovative use cases that have different requirements and need various degrees of customization. The HiveMQ Kubernetes Operator offers flexible configuration options from a very high level of detail to a low-level of complexity. You can change a single configuration parameter or use an entire custom configuration. Use a custom HiveMQ docker image based on our Kubernetes image or write your own custom controller template. The HiveMQ Kubernetes Operator gives you all the freedom and control of a custom solution
Resilient Self-healing HiveMQ Clusters
Another benefit of a completely automated solution running a HiveMQ cluster is the self-healing functionality. HiveMQ has been offering a self-healing mechanism to accommodate cluster topology changes for a long time. Previously, HiveMQ wasn’t able to automatically restart a cluster node running HiveMQ. Now, using the HiveMQ Operator, Kubernetes takes over the restart of HiveMQ cluster nodes if necessary. The combination of HiveMQ self-healing plus Kubernetes self-healing creates for a fully-automated deployment of HiveMQ.
Get started with the HiveMQ Kubernetes Operator
Use our predefined Helm chart to easily deploy the HiveMQ Kubernetes Operator and start a HiveMQ cluster. All you need is Helm and a running Kubernetes cluster where you can deploy the Operator and the HiveMQ cluster. If you do not adjust the settings of the HiveMQ Kubernetes Operator, please notice that you need 12 GB RAM and 12 CPUs to deploy this 3 node HiveMQ Cluster on Kubernetes.
Add the HiveMQ Helm Chart repository to your Helm installations:
helm repo add hivemq https://hivemq.github.io/helm-charts
Install the HiveMQ Helm Chart that deploys the HiveMQ Kubernetes Operator and a HiveMQ cluster:
helm upgrade --install hivemq hivemq/hivemq-operator
Check if your HiveMQ cluster has started:
kubectl get hivemq-clusters
That’s all it takes to create a running HiveMQ cluster inside your Kubernetes cluster that is managed and maintained by the HiveMQ Kubernetes Operator. You can start using your HiveMQ cluster by connecting clients, publishing messages and subscribing to topics and have a look into your HiveMQ Control Center.
For a more detailed explanation, take a look at our step-by-step getting started guide.
As always, if you have questions, don’t hesitate to contact us. We are happy to help.