3.3. Kubernetes 이벤트 기간을 제한하여 etcd 크기 관리


etcd 크기를 관리하려면 Kubernetes 이벤트가 Kubernetes API 서버의 etcd 데이터베이스에 저장되는 최대 시간을 설정할 수 있습니다. eventTTLMinutes 속성을 지정하면 etcd 데이터베이스에 이벤트가 저장되는 기간을 제어할 수 있습니다.

eventTTLMinutes 속성은 Kube API Server Operator가 유지 관리하는 KubeAPIServer 사용자 정의 리소스를 통해 관리됩니다.

프로세스

  1. 다음 명령을 입력하여 KubeAPIServer 사용자 정의 리소스를 편집합니다.

    $ oc patch kubeapiserver/cluster -p='{"spec": {"eventTTLMinutes": 5 }}' --type=merge

    eventTTLMinutes 속성 값은 etcd 데이터베이스에 저장되는 이벤트 수를 지정합니다. 유효한 값은 5 - 180 입니다.

  2. KubeAPIServer 사용자 정의 리소스에 변경 사항을 저장합니다.

    Kube API Server Operator는 Kube API 서버 Pod에 새 구성을 롤아웃해야 하는 변경 사항을 자동으로 조정합니다.

  3. 다음 명령을 입력하여 롤아웃이 완료될 때까지 기다립니다.

    $ oc adm wait-for-stable-cluster

    다음 예제에서는 해당 프로세스 중에 표시되는 출력을 보여줍니다.

    ...
    clusteroperators/kube-apiserver is still progressing after 10s
    ...
    clusteroperators/kube-apiserver stabilized at 2025-11-12T12:02:40+01:00 after 9m0s

검증

  • 구성이 적용되었는지 확인하려면 다음 명령을 입력합니다.

    $ oc get cm config -n openshift-kube-apiserver -ojsonpath='{.data.config\.yaml}' | jq -r ".apiServerArguments[\"event-ttl\"][0]"

    출력에는 구성된 기간이 표시되며 다음 예의 5m입니다.

    5m
    참고

    새로 생성된 이벤트만 eventTTLMinutes 속성에 새 값을 사용하여 etcd에 작성됩니다. 기존 이벤트는 업데이트되지 않으며 이전에 지정된 TTL 값에 따라 만료됩니다.

  • 지정된 이벤트가 짧은 리스로 작성되었는지 수동으로 확인하려면 다음 명령을 입력하여 etcd에서 직접 리스를 검사합니다.

    $ oc exec -it pods/<etcd_pod_name> -n openshift-etcd -c etcdctl -- sh

    명령의 출력은 다음 예와 유사합니다.

    sh-5.1h# $ etcdctl lease list | xargs -I {} etcdctl lease timetolive {}
    lease 1e6e9a77a71d8235 granted with TTL(15s), remaining(1s)
    lease 1e6e9a77a71d8247 granted with TTL(15s), remaining(3s)
    lease 1e6e9a77a71d8252 granted with TTL(15s), remaining(3s)
    lease 1e6e9a77a71d8310 granted with TTL(15s), remaining(11s)
    lease 1e6e9a77a71d8332 granted with TTL(15s), remaining(12s)
    lease 1e6e9a77a71d833e granted with TTL(15s), remaining(13s)
    lease 086e9a77a31f0776 granted with TTL(315s), remaining(177s)
    lease 086e9a779dcd8245 granted with TTL(10860s), remaining(8369s)
    lease 086e9a779dcd8fdf granted with TTL(10860s), remaining(8369s)
    참고

    다른 API 오브젝트에도 리스가 있을 수 있습니다.

  • 연결된 키를 검사하려면 다음 명령을 입력하여 이벤트의 키 접두사를 필터링합니다.

    $ etcdctl lease list | xargs -I {} etcdctl lease timetolive --keys {} | grep "/kubernetes.io/events"

    출력은 다음 예와 유사합니다.

    lease 0f009a77a48509ac granted with TTL(315s), remaining(74s), attached keys([/kubernetes.io/events/openshift-marketplace/redhat-operators-rrq79.18773e905b3e29a8 /kubernetes.io/events/openshift-marketplace/community-operators-csds7.18773e91b1e551a3])
    ...
    ...
    lease 1e6e9a77a71d3df1 granted with TTL(10860s), remaining(9478s), attached keys([/kubernetes.io/events/openshift-kube-apiserver/kube-apiserver-guard-ci-ln-pbkb71t-72292-dwp9h-master-2.18773c38ef4dcc03])

    이 예제에서 TTL 값은 5분(300s)이지만 리스 버퍼 재사용이 5%이므로 출력에 315s 가 표시됩니다.

    참고

    리스를 재사용할 수 있는 경우 etcd는 이를 재사용합니다. TTL 속성이 필요한 모든 리소스에 대해 고유한 etcd 리스를 생성하는 대신 API 서버에서 수천 개의 개별 오브젝트를 추적하도록 강제하여 시스템은 기존 리스를 더 적은 수의 리스를 재사용합니다. 새로운 객체가 특정 기간 동안 리스를 필요로 할 때, 관리자는 여전히 그 기간을 충당할 수 있는 충분한 수명을 가진 기존 리스와 5%의 작은 안전 버퍼를 확인합니다. 일치 항목이 발견되면 새 개체는 기존 리스를 사용합니다. 그렇지 않은 경우 새 리스가 생성되고 다른 사용자가 공유할 수 있도록 풀에 추가됩니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동