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 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.
Access to the Kubernetes cluster where HiveMQ is deployed.
Instructions
Update values.yaml Configuration: Open the hivemq-platform’s values.yaml file and verify/update the following configurations:
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
: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: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: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: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.
By following these outlined steps, users can seamlessly integrate declared-shared-subscriptions.xml
into their HiveMQ deployment on Kubernetes, ensuring efficient management and operation of MQTT broker configurations.