Use Heartbeat extension with HiveMQ Kubernetes Operator

 Instructions

  1. Get a local copy of the Helm chart.
    This will download the chart of the version $CHART_VERSION and untar it to the subdirectory hivemq-operator:

    helm pull hivemq/hivemq-operator --version $CHART_VERSION --untar

    Hint: To download the latest chart version, omit the option --version $CHART_VERSION. To learn more about chart versions refer to the article https://hivemq.atlassian.net/wiki/spaces/KB/pages/2406449153.

  2. Update dependencies in the chart’s directory.
    This command verifies that the required charts, as expressed in 'Chart.yaml', are present in 'charts/' and are at an acceptable version. It will pull down the latest charts that satisfy the dependencies, and clean up old dependencies.

    helm dependencies update hivemq-operator
    Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "hivemq" chart repository ...Successfully got an update from the "prometheus-community" chart repository Update Complete. ⎈Happy Helming!⎈ Saving 1 charts Downloading kube-prometheus-stack from repo https://prometheus-community.github.io/helm-charts Deleting outdated charts
  3. Edit operator templates, and update the livenessProbe’s declaration.

    1. Edit the operator templates:

      1. hivemq-operator/operator-tmpls/cluster-daemon-set.yaml

      2. hivemq-operator/operator-tmpls/cluster-deployment.yaml

      3. hivemq-operator/operator-tmpls/cluster-stateful-set.yaml

    2. Find the existing declaration of the livenessProbe:

    3. Replace with the new declaration of the livenessProbe:

  4. Get the values.yaml file for the hivemq-operator of the version $CHART_VERSION:

    Hint: To download from the latest chart version, omit the option --version $CHART_VERSION. To learn more about chart versions refer to the article https://hivemq.atlassian.net/wiki/spaces/KB/pages/2406449153.

  5. Edit the my-values.yaml file:

    1. Add the heartbeat extension to the end of the hivemq.extensions array:

    2. Add the heartbeat port to the end of the hivemq.ports array:

  6. Using Helm, install hivemq-operator from the local directory hivemq-operator which is containing updated operator templates, and use the updated my-values.yaml:

     

  7. When the hivemq-operator and hivemq pods are ready, monitor the event.log: