HiveMQ Platform Operator for Kubernetes
The HiveMQ Platform Operator is designed to deploy and manage your HiveMQ platforms on Kubernetes in a versatile and configurable manner.
The operator deploys the HiveMQ platform based on your specifications and configurations. When you make configuration changes, the operator automatically reconciles the changes with your running HiveMQ platform nodes. This automates many operational aspects for DevOps engineers to manage the lifecycle of the HiveMQ platform on Kubernetes.
The operator also provides logs, metrics, and Kubernetes events to successfully monitor your HiveMQ platform deployment and make it easy to integrate the operator into your observability stack.
The HiveMQ Platform Operator can manage one or more HiveMQ platforms in a Kubernetes cluster. This makes it easy to manage HiveMQ platform deployments for different environments such as staging and production or separate production use cases.
Features
-
Deploy, operate, and maintain your HiveMQ platforms
-
Simplify and manage multiple HiveMQ platform deployments
-
Install and configure HiveMQ Enterprise Extensions and custom extensions
-
Easy, automatic zero downtime upgrades
-
Painless deployment scalability
-
Support for all major hosted Kubernetes providers and on-premise installations
-
Full observability with metrics, events, and logging
Requirements
-
Running Kubernetes cluster version 1.23.x or higher
-
Helm version 3.10.x or higher
-
The Kubernetes command line tool kubectl
-
HiveMQ Professional or Enterprise Edition, versions 4.19 or higher
Quick Start Guide
The HiveMQ Platform Operator extends the Kubernetes API with the ability to manage and operate the HiveMQ platform.
The API is called the custom resource definition (CRD) for the HiveMQPlatform
and defines the HiveMQ platform as an object in Kubernetes.
This quick start guide uses the Helm package manager for Kubernetes to streamline the deployment and management of your HiveMQ Platform on Kubernetes.
HiveMQ provides two Helm charts that supply all the resource definitions necessary to deploy the HiveMQ platform on Kubernetes:
-
The HiveMQ Platform Operator Helm chart:
-
Installs the HiveMQ Platform Operator.
-
Installs the custom resource definition (CRD) for the HiveMQ platform.
-
-
The HiveMQ Platform Helm chart:
-
Installs the HiveMQ platform with the custom resource (CR)
-
Installs the HiveMQ configuration as a ConfigMap.
-
Install your HiveMQ Platform Operator first.
Once the operator is installed, you can use the HiveMQ Platform Helm chart to easily install one or more HiveMQ platforms as needed. The HiveMQ Platform Operator automatically detects and manages each new HiveMQ platform that you deploy. |
Preparation
Before you continue, take a moment to check that you have the following tools and resources on hand:
-
Verify that you have access to a running Kubernetes cluster version 1.22.0 or higher on any environment or cloud provider
-
Install Helm version 3 or higher
-
Install kubectl
-
Install the MQTT CLI command line tool
-
Add the HiveMQ Helm repository to your local Helm setup
helm repo add hivemq https://hivemq.github.io/helm-charts
-
If you have previously installed the HiveMQ Helm repository, update your repository
helm repo update
Installation
To install the HiveMQ Platform Operator and a two-node HiveMQ platform into the same namespace on your Kubernetes cluster enter the following commands:
helm install <your-operator> hivemq/hivemq-platform-operator -n <namespace> --wait && \
helm install <your-platform> hivemq/hivemq-platform -n <namespace> --wait
This command will first install your new HiveMQ Platform Operator. Then, it installs a two-node HiveMQ platform in your namespace.
To facilitate local installation and testing, the HiveMQ platform is installed with minimal resources by default. For production use, adjust your settings to fulfill our minimum requirements. For example, a minimum HiveMQ platform installation requires 4 CPUs and 4Gs of memory. For more details on production installations, see Deployment. |
To verify that your HiveMQ Platform Operator and your HiveMQ platform are successfully installed, enter the following commands:
helm status <your-operator>
helm status <your-platform>
Now that you have deployed your first default HiveMQ platform, you are ready to adapt and configure your installation:
-
For detailed installation information, see Deployment Options.
-
For detailed configuration information, see Configuration Options.
-
For detailed instructions on how to test, see Test Your HiveMQ platform