Skip to content

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

Related