24.8. 시나리오 예


Operator:

  • 메모리 용량이 10Gi인 노드가 있습니다.
  • 커널, 노드 및 기타 데몬과 같은 시스템 데몬에 대해 10%의 메모리 용량을 예약하려고 합니다.
  • 시스템 OOM의 스래싱 및 발생 수준을 줄이기 위해 95% 메모리 사용률에서 Pod를 제거하려고 합니다.

이 구성에서 암시적으로는 system-reserved 에 제거 임계값에서 적용되는 메모리 양이 포함되어야 한다는 이해가 있습니다.

해당 용량에 도달하기 위해 일부 포드는 요청보다 많은 것을 사용하거나 시스템에서 1Gi 이상을 사용하고 있습니다.

노드에 10Gi 용량이 있고 system-reserved 설정을 사용하여 시스템 데몬에 대해 해당 용량의 10%를 예약하려면 다음 계산을 수행합니다.

capacity = 10 Gi
system-reserved = 10 Gi * .1 = 1 Gi

할당 가능한 리소스의 양은 다음과 같습니다.

allocatable = capacity - system-reserved = 9 Gi

기본적으로 스케줄러는 9Gi의 메모리를 요청하는 Pod를 해당 노드에 예약합니다.

노드에서 사용 가능한 메모리가 30초 동안 10% 미만인 것을 관찰하거나 용량의 5% 미만으로 떨어지는 즉시 제거를 트리거하도록 제거를 활성화하려면 스케줄러가 할당 가능을 8Gi로 평가해야 합니다. 따라서 시스템 예약이 더 큰 제거 임계값에 적용되는지 확인합니다.

capacity = 10 Gi
eviction-threshold = 10 Gi * .1 = 1 Gi
system-reserved = (10Gi * .1) + eviction-threshold = 2 Gi
allocatable = capacity - system-reserved = 8 Gi

적절한 노드 구성 맵에 다음을 추가합니다.

kubeletArguments:
  system-reserved:
  - "memory=2Gi"
  eviction-hard:
  - "memory.available<.5Gi"
  eviction-soft:
  - "memory.available<1Gi"
  eviction-soft-grace-period:
  - "memory.available=30s"

이 구성을 사용하면 스케줄러에서 Pod를 노드에 배치하지 않고 즉시 메모리 부족을 줄이고 제거를 트리거합니다. 이 구성에서는 해당 포드가 구성된 요청보다 적게 사용한다고 가정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.