Configure RabbitMQ¶
Reduce startup time¶
Before startup, each RabbitMQ pod executes a sleep command to prevent negative DNS caching results which can cause problems with inter node communication for stream queues during restarts of RabbitMQ.
If you are working in a productive environment, this should only be done if the the DNS cache TTL of the Kubernetes DNS server is changed first.
Afterwards, the sleep duration can be overwritten by setting messageQueue.dnsCacheTTL inside the OpenStack manifest accordingly.
Inside development clusters it is fine to set the value 0 without adjusting the DNS server, just expect to encounter some error messages concerning stream queues.
Override images¶
If you want to use custom images for an AMQPServer, do so by adding a dictionary to .spec.imageOverrides
with the pinned versions as keys and the image overrides as values. For upgrades, you have to
include every supported minor version from your current version up to the target version.
These overrides take precedence over the infra operator’s YAOOK_OP_VERSIONS_OVERRIDE.
Use at your own risk.
apiVersion: infra.yaook.cloud/v1
kind: AMQPServer
name: "sample-amqp"
spec:
imageOverrides:
library/rabbitmq:3.13: custom-url/rabbitmq:v3.13
library/rabbitmq:4.1: custom-url/rabbitmq:v4.1
library/rabbitmq:4.2: custom-url/rabbitmq:v4.2
...
Using .spec.imageRef to override images is out of support and the setting will be removed in the
future.
If the AMQPServer was not created by another operator, you can migrate from imageRef to targetRelease
by adding the imageOverrides without removing .spec.imageRef and waiting until the infra operator reconciled the AMQPServer.
To upgrade it, remove .spec.imageRef and specify the targetRelease afterwards. Currently, 4.2 is the latest supported release.