Role in the deployment¶
NATS carries in-cluster messages between DE services. It sits alongside RabbitMQ rather than replacing it: RabbitMQ is the AMQP bus that iRODS publishes data events to from outside the cluster, while NATS is the lower-latency internal fabric newer DE services use.
Install¶
NATS is installed together with the global configuration, ingress, and networking resources, because those services expect it to be there when they start:
ansible-playbook -i /path/to/inventory \
--tags=configure-services,ingress,networking,nats kubernetes.yml
Reinstalling¶
Helm keeps a release record even after the resources are gone, so a reinstall into the same namespace can fail with an "already exists" error. Remove the release first:
helm -n prod uninstall nats
Then re-run the tag above.
Verify¶
kubectl -n prod get pods -l app.kubernetes.io/name=nats
kubectl -n prod logs -l app.kubernetes.io/name=nats --tail=50