我已经使用社区 docker 镜像在 ARM(Oracle OCI Ampere A1)上的 kubernetes(k3s)上安装了 RabbitMQ。
我看到非常规律的周期性 CPU 使用率峰值(两次峰值,周期均为 60 秒,偏移约 20 秒左右)。这是正常的吗?我可以做些什么来减少这些峰值?
这是 RabbitMQ 的完全空安装,我甚至还没有尝试连接它。我担心当有消息实际流经 rabbitmq 时,这些 CPU 使用率峰值可能会变得更糟。
我使用的配置是:
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
我希望以后能够扩大它,但目前我只有一个 RabbitMQ pod。
我还从 k3s 配置了一些周期为 60 秒的探测器,这些可能是造成 CPU 使用率高的原因吗?如果我没记错的话(几个月前我就编写了 k3s 服务),这些都是基于 RabbitMQ 对 k8s 部署的建议。
livenessProbe:
exec:
command: ["rabbitmq-diagnostics", "status"]
initialDelaySeconds: 60
periodSeconds: 60
timeoutSeconds: 15
readinessProbe:
exec:
command: ["rabbitmq-diagnostics", "ping"]
initialDelaySeconds: 20
periodSeconds: 60
timeoutSeconds: 10