This knowledge base article provides a guide for integrating declared-shared-subscriptions.xml into a HiveMQ deployment on Kubernetes without overriding the StatefulSet. The article outlines step-by-step instructions and necessary configurations to ensure smooth integration of the declared-shared-subscriptions.xml file into the HiveMQ configuration.
Prerequisites:
Before proceeding with the integration, ensure This article is created using the following prerequisites are met:
...
Familiarity with Kubernetes concepts and commands.
...
Access to the hivemq-platform’s values.yaml file for configuration adjustments.
...
Understanding of ConfigMaps and their usage within Kubernetes deployments.
...
:
kubernetes api 1.28
helm 3.1+
HiveMQ 4.28.0
hivemq/hivemq-platform-operator 0.2.5 1.3.0
hivemq/hivemq-platform 0.2.14 4.28.0
Instructions
Update values.yaml Configuration: Open the hivemq-platform’s values.yaml file and verify/update the following configurations:
Code Block language yaml config: create: false name: "my-config" overrideHiveMQConfig: "" overrideStatefulSet: ""
create: false
: Disable the creation of the default HiveMQ config.xml file.name: "my-config"
: Specify a custom name for the ConfigMap.overrideHiveMQConfig: ""
andoverrideStatefulSet: ""
: Ensure that HiveMQ config and StatefulSet are not overridden.
Create Custom ConfigMap: Use the provided manifest
cm-my-config.yaml
to create a new ConfigMap namedmy-config
:Code Block language bash kubectl apply -f cm-my-config.yaml
Deploy Updated HiveMQ: Deploy the updated HiveMQ platform with the modified values from the values.yaml file.
Verify Configuration: Confirm the presence of
declared-shared-subscriptions.xml
in the/opt/hivemq/conf-k8s/
directory within the HiveMQ pods:Code Block language bash kubectl exec pods/my-hivemq-0 -c hivemq -- \ ls -la conf-k8s/declared-shared-subscriptions.xml
Check hivemq.log: Ensure that the
hivemq.log
records the inclusion of Declared shared subscriptions:Code Block language text INFO - Declared shared subscriptions from file /opt/hivemq/conf-k8s/declared-shared-subscriptions.xml
Future Configuration Updates: For any future configuration updates, modify the
cm-my-config.yaml
manifest and apply the changes using:Code Block language bash kubectl apply -f cm-my-config.yaml
This ensures that alterations to the ConfigMap are recognized, and updates are applied in a rolling manner by the operator.
...