쿠버네티스 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
- Container마다 Request와 Limit은 설정되어 있지만, 수치가 같지 않음
- Container에 Request 또는 Limit만 설정되어 있음
- Pod내에 하나라도 완벽하게(Guaranteed의 기준) 설정되어 있지 않은 경우
3. BestEffort class
- 어떤 Container 내에도 Request, Limit이 미설정
* Burstable class 내에서의 우선순위
- OOM Score가 낮을수록 우선 순위가 높음(OOM Score가 높은 Pod가 먼저 제거)
- OOM Score : Request와 실제 사용에 따른 메모리 사용량을 판단
'CICD' 카테고리의 다른 글
[Kubernetes] Headless, Endpoint, ExternalName(Service) (1) | 2022.01.22 |
---|---|
[Kubernetes] Node Scheduling(Pod) (0) | 2022.01.20 |
[Kubernetes] ReadinessProbe, LivenessProbe(Pod) (0) | 2022.01.16 |
[Kubernetes] Lifecycle(Pod) (0) | 2022.01.16 |
[Kubernetes] DeamonSet, Job, CronJob (Controller) (0) | 2022.01.11 |
댓글