Table of Contents |
---|
Prequisite
:Access to a running HiveMQ Cluster using Kubectlvaluesinfrastructure with Kubectl, E.g.
Running HiveMQ Cluster Install HiveMQ using Kubernetes Operator
Values.yaml file https://hivemq.atlassian.net/wiki/spaces/HMSKB/pages/2691039283/Install+HiveMQ+onusing+theKubernetes+AKS+cluster#AddOperator#Add-Helm-repository-and-download-values.yaml-file
Kubectl, Helm and MQTT CLI Prerequisite - Software Packages
Using Loadbalancer
Exposing port 1883 using Load Balancer
Exposing ip via load balancer in the following steps makes it public.
Example setup to secure client authenticationHiveMQ recommends securing the authentication and authorisation of clients for production environment. E.g. Setting up ESE Extension using HiveMQ Operator
Please check out HiveMQ authentication and authorisation extensions to control client access and scope. https://www.hivemq.com/products/extensions/
Open values.yaml and search for port 1883 under hivemq.ports.port
Code Block ports: - name: "mqtt" port: 1883 expose: true patch: - '[{"op":"add","path":"/spec/selector/hivemq.com~1node-offline","value":"false"},{"op":"add","path":"/metadata/annotations","value":{"service.spec.externalTrafficPolicy":"Local"}}]' # If you want Kubernetes to expose the MQTT port to external traffic # - '[{"op":"add","path":"/spec/type","value":"LoadBalancer"}]'
Uncomment and expose the loadbalancer
Code Block ports: - name: "mqtt" port: 1883 expose: true patch: - '[{"op":"add","path":"/spec/selector/hivemq.com~1node-offline","value":"false"},{"op":"add","path":"/metadata/annotations","value":{"service.spec.externalTrafficPolicy":"Local"}}]' # If you want Kubernetes to expose the MQTT port to external traffic - '[{"op":"add","path":"/spec/type","value":"LoadBalancer"}]'
Save the file and apply the changes
Code Block helm upgrade hivemq --install hivemq/hivemq-operator --values values.yaml
Check if the service for port 1883 has an external IP address (98.67.128.195 in our case)
Code Block kubectl get services
...
To learn more ways to interact with HiveMQ, see the MQTT-CLI documentation.