我如何控制命名空间可以保存的事件数量?

问题描述 投票:0回答:1

我想控制我的租户可以创建的事件数量。

我的 ttl 是 1,那没问题,但有时我们在多个命名空间中出现峰值,我担心如果它发生在多个命名空间中,etcd 会被忽视。

我尝试过像这样使用资源配额:

apiVersion: v1
kind: ResourceQuota
metadata:
  creationTimestamp: "2024-09-16T04:54:44Z"
  name: compute-resources
  namespace: test-dev
  resourceVersion: "35872662"
  uid: 78d46d9b-9b1d-435d-88c2-0cfd6f61c64c
spec:
  hard:
    count/events: 1k
status:
  hard:
    count/events: 1k
  used: 
  # i dont see it here

但是好像不起作用。

有什么方法可以使其与资源配额一起使用吗?或者我需要创建网络挂钩?

谢谢,

kubernetes events monitoring etcd
1个回答
0
投票

使用资源配额 没有直接的方法可以使用 ResourceQuota 来限制事件资源,因为事件不被视为配额管理资源。如果资源配额应用于命名空间级别,那么您想要控制多个命名空间的事件数量,则需要为每个命名空间创建单独的资源配额。

请参阅 Anvesh Muppeda 的 Medium 博客和 kodekloud 博客,了解 Kubernetes 资源配额、限制范围以及如何收集 kubernetes 事件的实践指南。

“Kubernetes 中的资源配额允许管理员对每个命名空间的总资源使用量设置限制。通过使用资源配额,您可以限制命名空间内可以消耗的资源数量,例如 Pod、CPU 和内存。”

您可以使用准入 Webhook 来捕获事件创建请求。您还可以检查命名空间中已存在的事件数量。

“准入 Webhook 是接收准入请求并对其执行某些操作的 HTTP 回调。您可以定义两种类型的准入 Webhook:验证准入 Webhook 和变更准入 Webhook。首先调用变异准入 Webhooks,并且可以修改发送到 API 服务器的对象以强制执行自定义默认值。所有对象修改完成后,并且 API 服务器验证传入对象后,将调用验证准入 Webhook,并可以拒绝执行自定义策略的请求。”

© www.soinside.com 2019 - 2024. All rights reserved.