Skip to main content

RabbitMQ

Message broker for asynchronous communication between services.

CategoryIntegration
Deploy./uis deploy rabbitmq
Undeploy./uis undeploy rabbitmq
Depends onNone
Required byNone
Helm chartbitnami/rabbitmq (unpinned)
Default namespacedefault

What It Does

RabbitMQ provides message queuing and pub/sub messaging for decoupling services. Applications publish messages to exchanges, which route them to queues for consumption by other services.

Key capabilities:

  • Message queuing — reliable delivery with acknowledgments and persistence
  • Pub/sub — publish messages to multiple consumers via topic exchanges
  • Management UI — web-based dashboard on port 15672
  • AMQP protocol — standard messaging protocol on port 5672
  • 8Gi persistent storage — messages survive pod restarts

Deploy

./uis deploy rabbitmq

No dependencies.

Verify

# Quick check
./uis verify rabbitmq

# Manual check
kubectl get pods -n default -l app.kubernetes.io/name=rabbitmq

# Test management UI
curl -s -o /dev/null -w "%{http_code}" http://rabbitmq.localhost
# Expected: 200

Access the management UI at http://rabbitmq.localhost.

Configuration

SettingValueNotes
AMQP port5672Message protocol
Management port15672Web UI
ArchitecturestandaloneSingle instance
Storage8Gi PVCPersistent messages

Secrets

VariableFilePurpose
DEFAULT_RABBITMQ_USERNAME.uis.secrets/secrets-config/default-secrets.envAdmin username
DEFAULT_RABBITMQ_PASSWORD.uis.secrets/secrets-config/default-secrets.envAdmin password

Key Files

FilePurpose
ansible/playbooks/080-setup-rabbitmq.ymlDeployment playbook
ansible/playbooks/080-remove-rabbitmq.ymlRemoval playbook

Undeploy

./uis undeploy rabbitmq

Troubleshooting

Pod won't start:

kubectl describe pod -l app.kubernetes.io/name=rabbitmq
kubectl logs -l app.kubernetes.io/name=rabbitmq

Authentication failed on management UI: Check credentials in secrets:

kubectl get secret urbalurba-secrets -o jsonpath="{.data.RABBITMQ_USERNAME}" | base64 -d
kubectl get secret urbalurba-secrets -o jsonpath="{.data.RABBITMQ_PASSWORD}" | base64 -d

Connection refused on AMQP port:

kubectl get svc rabbitmq
kubectl get endpoints rabbitmq

Learn More