簡體   English   中英

如何根據rabbitmq隊列消息速率縮放k8s pod?

[英]How to scale k8s pods according to rabbitmq queue message rate?

我的應用程序正在kubernetes上作為容器運行。
該應用程序使用來自rabbitmq消息。

我無法預測確切的cpu量,因此我不想將其用作自動縮放限制,盡管我確實將prefetch設置為看起來正常的值。
有沒有辦法跟蹤隊列中的消息數量,
一旦有太多事情要告訴k8s自動縮放?
還是將自動縮放設置為遵循消息速率?

本教程看起來像是對問題的現成答案。 它描述了如何基於RabbitMQ隊列大小來設置Horizo​​ntal Pod Autoscaler

您可以將Horizo​​ntal Pod Autoscaler與自定義指標一起使用,這需要由一些自定義指標API服務器提供(樣板: https : //github.com/kubernetes-incubator/custom-metrics-apiserver )。

或使用自定義自動縮放器(可能已過時: https : //github.com/onfido/k8s-rabbit-pod-autoscaler )。

因此,您可以向HPA提供指標,或者運行具有指標的某些應用程序並將縮放要求發送到kubernetes API。

我沒有找到很多內容,這些內容不涉及使用諸如StackDriver之類的外部資源。

我花了幾天時間解決所有問題,並編寫了一個演示應用程序,其中包含有關如何執行此操作的代碼。 我希望它可以幫助某人:

https://ryanbaker.io/2019-10-07-scaling-rabbitmq-on-k8s/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM