본문 바로가기
CICD

[Kubernetes] QoS classes(Pod)

by 장중앙 2022. 1. 16.

쿠버네티스 QoS(Quality of Service)란

앱의 중요도에 따라 자원 배정을 관리

노드에 있는 Pod가 모든 자원을 사용하고 있을때, 특정 Pod에서 추가 자원이 필요한 경우 중요도에 따라 자원을 우선순위를 가짐

* QoS 우선 순위 : BestEffort < Burstable < Guarnteed

 

 

QoS 설정 기준

Pod의 QoS는 사용자가 선택하여 지정하지 않고 Pod 생성시, Requests, limits에 따라 지정된다.

1. Guaranteed class

  • 모든 Container에 Request와 Limit이 설정
  • Request와 Limit에는 Memory와 CPU가 모두 설정
  • 각 컨테이너의 Memory, CPU는 Request와 Limit의 값이 같음

2. Burstable class

  • 아래의 기준에 속한다면 Burstable
    1. Container마다 Request와 Limit은 설정되어 있지만, 수치가 같지 않음
    2. Container에 Request 또는 Limit만 설정되어 있음
    3. Pod내에 하나라도 완벽하게(Guaranteed의 기준) 설정되어 있지 않은 경우

3. BestEffort class

  • 어떤 Container 내에도 Request, Limit이 미설정

* Burstable class 내에서의 우선순위

  • OOM Score가 낮을수록 우선 순위가 높음(OOM Score가 높은 Pod가 먼저 제거)
    • OOM Score : Request와 실제 사용에 따른 메모리 사용량을 판단

댓글