I've installed RabbitMQ on kubernetes(k3s) on ARM (Oracle OCI Ampere A1) using the community docker image.
I'm seeing very regular periodic CPU usage spikes (two series of spikes, both with a period of 60 seconds and offset by about 20 or so seconds). Is this normal? Is there something I can do to reduce these?
This is an entirely empty installation of RabbitMQ, I haven't even tried to connect to it. I'm concerned that these CPU usage spikes might get worse when there are messages actually flowing through rabbitmq.
The configuration I'm using is:
enabled_plugins: |
[rabbitmq_peer_discovery_k8s, rabbitmq_management, rabbitmq_prometheus].
rabbitmq.conf: |
cluster_formation.peer_discovery_backend = k8s
cluster_formation.k8s.host = kubernetes.default.svc.devcluster.oci.domain
cluster_formation.k8s.address_type = hostname
cluster_formation.k8s.service_name = rabbitmq-internode-svc
queue_master_locator=min-masters
I want to be able to scale it up later, but presently I have only one RabbitMQ pod.
I also have some probes configured from k3s with a 60s period, could these be the cause of this CPU usage? If I remember correctly (I had written the k3s service many months ago now), these were based on RabbitMQ recommendations for k8s deployments.
livenessProbe:
exec:
command: ["rabbitmq-diagnostics", "status"]
initialDelaySeconds: 60
periodSeconds: 60
timeoutSeconds: 15
readinessProbe:
exec:
command: ["rabbitmq-diagnostics", "ping"]
initialDelaySeconds: 20
periodSeconds: 60
timeoutSeconds: 10