This guide covers the basics of troubleshooting of RabbitMQ Messaging Topology Operator.
If some RabbitMQ topology objects could not be created, a good source of information is the Messaging Topology Operator logs.
To inspect the logs, run
kubectl -n rabbitmq-system logs -l app.kubernetes.io/name=messaging-topology-operator
All custom Messaging Topology Operator resources have a status subresource that describes the current state of the resource.
For example, to get the status of a queue with name 'my-queue', run:
kubectl get queues.rabbitmq.com my-queue -oyaml
or
kubectl describe queues.rabbitmq.com my-queue
An example status for a queue may look like:
apiVersion: rabbitmq.com/v1beta1 kind: Queue metadata: name: my-queue namespace: rabbitmq-system spec: ... status: conditions: - lastTransitionTime: "" status: "True" # could be true, false, or unknown; false means the last reconciliation has failed type: Ready Reason: "SuccessfulCreateOrUpdate" # status false result in reason FailedCreateOrUpdate Message: "" # set with error message when status is false
If you have questions about the contents of this guide or any other topic related to RabbitMQ, don't hesitate to ask them on the RabbitMQ mailing list.
If you'd like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!