폴링에서 CRI 이벤트 기반 컨테이너 상태 업데이트로 전환하기

폴링에서 CRI 이벤트 기반 컨테이너 상태 업데이트로 전환하기 (Switching from Polling to CRI Event-based Updates to Container Status)

이 기능을 사용하려면 클러스터의 모든 관련 컴포넌트에서 EventedPLEG 기능 게이트를 활성화해야 해요(직접 또는 클러스터 관리자를 통해).

자세한 내용은 기능 게이트 활성·비활성화를 참고해요.

이 페이지는 노드를 컨테이너 상태에 대한 이벤트 기반 업데이트로 마이그레이션하는 방법을 보여줘요. 이벤트 기반 구현은 폴링(polling)에 의존하는 기존 방식과 비교해 kubelet의 노드 리소스 소비를 줄여줘요.

이 기능을 *evented pod lifecycle event generator (PLEG)*로 알고 있을지도 몰라요. 이것은 쿠버네티스 프로젝트 내부에서 핵심 구현 세부 사항에 사용되는 이름이에요.

폴링 기반 방식은 generic PLEG이라고 불러요.

출처: 문서

본문

시작하기 전에 (Before you begin)

  • 이 기능을 제공하는 쿠버네티스 버전을 실행해야 해요. 쿠버네티스 v1.27에는 이벤트 기반 컨테이너 상태 업데이트에 대한 베타 지원이 포함돼 있어요. 이 기능은 베타지만 컨테이너 런타임의 지원이 필요하기 때문에 기본적으로 비활성화돼 있어요.
  • 쿠버네티스 서버는 버전 1.26 이상이어야 해요. 다른 쿠버네티스 버전을 실행 중이라면 해당 릴리스의 문서를 확인해요.
  • 사용 중인 컨테이너 런타임은 컨테이너 수명주기 이벤트를 지원해야 해요. 컨테이너 런타임이 컨테이너 수명주기 이벤트 지원을 알리지 않으면, 이 기능 게이트를 활성화했더라도 kubelet은 기존 generic PLEG 메커니즘으로 자동으로 되돌아가요.

왜 Evented PLEG로 전환하나요?

  • Generic PLEG는 컨테이너 상태를 자주 폴링해서 무시할 수 없는 오버헤드가 발생해요.
  • 이 오버헤드는 Kubelet의 병렬화된 컨테이너 상태 폴링으로 인해 악화돼 확장성을 제한하고 성능·신뢰성 문제를 일으켜요.
  • Evented PLEG의 목표는 주기적 폴링을 대체해 비활성 기간 동안 불필요한 작업을 줄이는 것이에요.

Evented PLEG로 전환하기 (Switching to Evented PLEG)

  • 쿠버네티스 서버는 버전 1.26 이상이어야 해요.

더 알아보기 (Learn more)