21.2. 컨테이너 가비지 컬렉션


컨테이너 가비지 컬렉션은 기본적으로 활성화되어 있으며 제거 임계값에 도달하는 데 자동으로 수행됩니다. 노드는 API에서 액세스할 수 있는 모든 포드의 컨테이너를 유지하려고 합니다. pod가 삭제된 경우 컨테이너도 삭제됩니다. pod가 삭제되지 않고 제거 임계 값에 도달하지 않는 한 컨테이너는 보존됩니다. 노드가 디스크 부족 상태에 있으면 컨테이너가 제거되고 oc 로그를 통해 로그에 더 이상 액세스할 수 없습니다.

컨테이너 가비지 컬렉션 정책은 세 개의 노드 설정을 기반으로 합니다.

설정설명

minimum-container-ttl-duration

컨테이너가 가비지 컬렉션에 적합한 최소 기간입니다. 기본값은 0입니다. 제한 없이 0 을 사용합니다. 이 설정의 값은 h (시간), m (분), s (초)와 같은 단위 접미사를 사용하여 지정할 수 있습니다.

maximum-dead-containers-per-container

컨테이너당 유지할 이전 인스턴스 수입니다. 기본값은 1입니다.

maximum-dead-containers

노드에서 총 종료된 컨테이너의 최대 수입니다. 기본값은 -1 이며 무제한을 의미합니다.

참고

충돌이 있는 경우 maximum-dead-containers 설정은 maximum-dead-containers-per-container 설정보다 우선합니다. 예를 들어 maximum-dead-containers-per-container 의 수를 유지하면 총 최대 컨테이너 수가 max-dead-containers보다 큰 경우 최대-dead-containers 제한을 충족하기 위해 가장 오래된 컨테이너가 제거됩니다.

노드가 종료된 컨테이너를 제거하면 해당 컨테이너 내의 모든 파일도 제거됩니다. 노드에서 생성된 컨테이너만 가비지 수집됩니다.

기본 설정을 사용하지 않으려면 적절한 노드 구성 맵 의 kubeletArguments 섹션에 이러한 설정 값을 지정할 수 있습니다. 아직 없는 경우 섹션을 추가합니다.

참고

이러한 매개변수가 노드 구성 맵에 없는 경우 컨테이너 가비지 컬렉션은 기본값을 사용하여 수행됩니다.

컨테이너 가비지 컬렉션 설정

kubeletArguments:
  minimum-container-ttl-duration:
    - "10s"
  maximum-dead-containers-per-container:
    - "2"
  maximum-dead-containers:
    - "240"

21.2.1. 삭제를 위해 컨테이너 감지

가비지 컬렉터 루프의 각 스핀은 다음 단계를 거칩니다.

  1. 사용 가능한 컨테이너 목록을 검색합니다.
  2. 실행 중이거나 활성 상태가 minimum-container-ttl-duration 매개변수보다 길지 않은 모든 컨테이너를 필터링합니다. 활성 상태가 아닌 컨테이너는 exited, dead, exit 상태가 될 수 있습니다.
  3. Pod 및 이미지 이름 멤버십에 따라 나머지 모든 컨테이너를 동등한 클래스로 분류합니다.
  4. 식별되지 않은 모든 컨테이너(Kletlet에서 관리하지만 이름이 잘못된 형식)를 제거합니다.
  5. max -dead-containers-per-container 매개변수보다 많은 컨테이너가 포함된 각 클래스에 대해 생성 시간별로 클래스의 컨테이너를 정렬합니다.
  6. max -dead-containers-per-container 매개 변수가 충족될 때까지 가장 오래된 컨테이너 제거를 시작합니다.
  7. 목록에 max -dead-containers 매개변수보다 많은 컨테이너가 있는 경우 수집기는 각 클래스에서 컨테이너를 제거하기 때문에 각 클래스의 컨테이너 수가 클래스당 평균 컨테이너 수 또는 <all_remaining_containers>/<number_of_classes> 보다 크지 않습니다.
  8. 충분하지 않은 경우 수집기는 목록에 있는 모든 컨테이너를 정렬하고 maximum-dead-containers 표준이 충족될 때까지 가장 오래된 컨테이너 제거를 시작합니다.
중요

요구 사항에 맞게 기본 설정을 업데이트합니다.

가비지 컬렉션은 연결된 Pod가 없는 컨테이너만 제거합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동