Health API with legacy HiveMQ Kubernetes Operator
Guide for users looking to integrate and configure the Health API within the legacy HiveMQ Kubernetes Operator with cluster-stateful-set controller template.
Instructions
Get a local copy of the hivemq-operator Helm chart. This will create a directory “./hivemq-operator" in your working directory:
helm pull hivemq/hivemq-operator --untar
Go to the ./hivemq-operator/operator-tmpls and make a copy of the cluster-stateful-set.yaml in the same directory:
cd ./hivemq-operator/operator-tmpls cp cluster-stateful-set.yaml my-cluster-stateful-set.yaml
Update the configuration of the liveness and readiness probe from this:
readinessProbe: exec: command: - /opt/hivemq/bin/readiness_probe.sh initialDelaySeconds: 3 periodSeconds: 5 livenessProbe: tcpSocket: port: {{ util:getPort(spec, "mqtt").port }} initialDelaySeconds: 15 periodSeconds: 30 failureThreshold: 240
to this:
Copy the values.yaml file to make updates in it:
Update the hivemq.cofingOverride in the my-values.yaml. Add the block that enables the Health API and the bind address
0.0.0.0
:Deploy from the local directory and supply the updated controller template file and updated values.yaml file:
In case the installation process cannot complete, cannot spawn a hivemq pod, check the journalctl on the affected node for errors. To do that, find out which node the pod fails on, ssh to the Kubernetes node, run journalctl -f | grep hivemq
and see which error(s) are there.