概述

使用 EventRateLimit接纳控制对 API 服务器在特定时间段内接受的事件数量进行限制。在一个大型多租户集群中,可能会有一小部分租户用事件请求淹没服务器,这可能会对集群的整体性能产生重大影响。因此,建议限制 API 服务器接受事件的速率。

为了满足 CIS(互联网安全中心)Kubernetes 基准,您需要配置事件速率限制。事件速率限制对应于 CIS Kubernetes Benchmark 1.1.36 - 确保接纳控制插件EventRateLimit被设置。

可以为服务器、命名空间、用户或源和对象的组合配置速率限制。

配置细节请参考Kubernetes 官方文档

配置示例

cluster.yml中的以下配置可用于默认启用事件速率限制。

  1. services:
  2. kube-api:
  3. event_rate_limit:
  4. enabled: true

当启用事件速率限制时,您应该可以在/etc/kubernetes/admission.yaml看到默认值。

  1. ---
  2. plugins:
  3. - configuration:
  4. apiVersion: eventratelimit.admission.k8s.io/v1alpha1
  5. kind: Configuration
  6. limits:
  7. - burst: 20000
  8. qps: 5000
  9. type: Server

要自定义事件速率限制,必须在configuration指令中提供完整配置的 Kubernetes 资源。

  1. services:
  2. kube-api:
  3. event_rate_limit:
  4. enabled: true
  5. configuration:
  6. apiVersion: eventratelimit.admission.k8s.io/v1alpha1
  7. kind: Configuration
  8. limits:
  9. - type: Server
  10. qps: 6000
  11. burst: 30000