Kubernetes 이벤트 요청 제한 점검

이벤트 폭주를 제한하고 정상 운영에 필요한 이벤트가 유지되는지 확인하세요.

설명

EventRateLimit admission 플러그인은 API 서버에 저장되는 Event 요청의 양을 제한합니다. 적절한 제한이 없으면 오류가 반복되는 워크로드나 컨트롤러가 API 서버와 etcd에 부담을 줄 수 있습니다. 다른 API 요청 전체를 제한하는 기능은 아니며, 기존 보호 조치와 실제 이벤트 발생량을 함께 검토해야 합니다.

잠재적 영향

  • 과도한 이벤트 생성으로 API 서버와 저장소 부하가 증가할 수 있습니다.
  • 중요한 이벤트가 잡음 속에 묻혀 운영자가 놓칠 수 있습니다.

해결 방법

  • 직접 관리하는 API 서버에서 이 플러그인을 사용하려면 설치 버전의 지원을 확인하고 EventRateLimit와 AdmissionConfiguration의 제한 정책을 함께 구성하세요. 관리형 서비스에서는 제공되는 제어 수단을 확인하세요.
  • 이벤트가 많은 워크로드를 점검하고 정상 이벤트를 과도하게 버리지 않도록 제한값을 시험하세요. 이 알파 기능의 동작과 거부 결과를 운영 중에도 확인하세요.

예시

Kubernetes v1.30.0의 API 서버 인자만 비교하는 과거 발췌입니다. 실제 사용에는 지원되는 버전, 전체 제어 플레인 구성과 설정 파일 마운트가 필요합니다. 설정 경로에는 EventRateLimit 정책을 참조하는 AdmissionConfiguration을 제공하세요.

변경 전

yaml
apiVersion: v1
kind: Pod
metadata:
  name: kube-apiserver
spec:
  containers:
    - name: kube-apiserver
      image: registry.k8s.io/kube-apiserver:v1.30.0
      command:
        - kube-apiserver
      args:
        - --enable-admission-plugins=AlwaysAdmit

AlwaysAdmit를 추가하지만 이 플러그인은 이벤트 양을 제한하지 않습니다. 다른 기본 admission 플러그인이 모두 꺼진다는 뜻은 아닙니다.

변경 후

yaml
apiVersion: v1
kind: Pod
metadata:
  name: kube-apiserver
spec:
  containers:
    - name: kube-apiserver
      image: registry.k8s.io/kube-apiserver:v1.30.0
      command:
        - kube-apiserver
      args:
        - --enable-admission-plugins=EventRateLimit
        - --admission-control-config-file=/etc/kubernetes/eventratelimit.yaml

EventRateLimit와 설정 파일 경로를 지정합니다. 유효한 정책과 실제 파일이 있어야 의도한 제한이 적용됩니다.

참조