如何为资源配额k8s创建警报以发送警报(例如Prometheus)



如何为k8s资源配额创建警报以发送警报(例如Prometheus)

我有一个问题,我找不到类似的东西,但我需要捕获资源配额错误并向普罗米修斯发送警报。

有人看到这个并设法修复它吗?

例如:

Error from server (Forbidden): error when creating "https://k8s.io/examples/admin/resource/quota-mem-cpu-pod-2.yaml": pods "quota-mem-cpu-demo-2" is forbidden: exceeded quota: mem-cpu-demo, requested: requests.memory=700Mi, used: requests.memory=600Mi, limited: requests.memory=1Gi

我如何通过在普罗米修斯上发出警报来发送此错误?

一个选项—如果您运行kube-state-metrics,有一个方便的kube_resourcequota度量,它具有标签

resource=(例如:limits.cpu)类型=(硬/使用)

当一个NS超过该资源的X%配额时,您可以尝试发出警报。当名称空间超过资源配额的90%时,将触发此命令->会为限制而开火。cpu、限制。内存等。

如果您管理一个包含许多团队和各自名称空间的集群,这可能会提醒您注意任何失控的资源(例如配置错误的cronjobs占用cpu)并提醒团队。

100 * kube_resourcequota{type="used"} / ignoring(instance, job, type) (kube_resourcequota{type="hard"} > 0) > 90

kube-state-metrics:

https://github.com/kubernetes/kube-state-metrics/blob/master/docs/resourcequota-metrics.md

我从这里提取了上面的表达式:https://sysdig.com/blog/alerting-kubernetes/

相关内容

最新更新