티스토리 뷰

728x90

QoS (Quality of Service)

Pod에 할당된 리소스 요청과 제한에 따라 Pod의 우선순위를 정의하는 기능

  1. Guaranteed (최우선)
    • 조건
      • 모든 컨테이너에 대해 요청(requests)과 제한(limits)이 동일하게 설정되어 있어야 함.
      • CPU와 메모리 둘 다 설정해야 함.
    • 특징
      • 가장 높은 우선순위를 가짐.
      • 클러스터에서 리소스가 부족한 상황에서도 종료되지 않을 가능성이 높음.
    resources:
      requests:
        cpu: "500m"
        memory: "1Gi"
      limits:
        cpu: "500m"
        memory: "1Gi"
    
  2. Burstable (버스트 가능)
    • 설정 조건:
      • 요청(requests)은 설정했지만, 제한(limits)과 동일하지 않거나 일부 리소스에만 설정됨.
      • 제한을 설정하지 않으면 컨테이너가 과도한 리소스를 사용할 수 있음.
    • 특징:
      • Guaranteed보다는 우선순위가 낮음.
      • 요청한 리소스는 보장되지만, 리소스가 부족하면 종료될 가능성이 있음.
    resources:
      requests:
        cpu: "500m"
        memory: "512Mi"
      limits:
        cpu: "1" # request와 같지 않음
        memory: "1Gi" # request와 같지 않음
    
  3. BestEffort (최하위 우선순위)
    • 설정 조건:
      • 요청(requests)과 제한(limits)이 전혀 설정되지 않은 경우.
    • 특징:
      • 가장 낮은 우선순위를 가짐.
      • 클러스터의 리소스가 부족할 경우 가장 먼저 종료됨.
      • 리소스 사용량이 제한되지 않아, 다른 Pod에 영향을 줄 가능성이 있음.
    resources: {} # 설정 없음
    

같은 QoS인 경우 사용률이 높은 포드를 먼저 종료

 

 

 

QoS 클래스 확인 방법

kubectl describe pod {pod_name} -n {namespace}

 

request limit을 설정하지 않은 Pod여서 BestEffort로 나옴

 


https://kubernetes.io/ko/docs/tasks/configure-pod-container/quality-service-pod/

728x90
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함