23.4. QoS (Quality of Service) 클래스
요청이 없는 pod가 예약되어 있거나 해당 노드의 모든 pod에서 제한의 합계가 사용 가능한 머신 용량을 초과하면 노드가 오버 커밋됩니다.
오버 커밋된 환경에서는 노드의 pod가 특정 시점에서 사용 가능한 것보다 더 많은 컴퓨팅 리소스를 사용하려고 할 수 있습니다. 이 경우 노드는 각 pod에 우선 순위를 지정해야합니다. 이러한 결정을 내리는 데 사용되는 기능을 QoS (Quality of Service) 클래스라고 합니다.
각 컴퓨팅 리소스에 대해 컨테이너는 세 가지 QoS 클래스(우선 순위 내림차순)로 나뉩니다.
우선 순위 | 클래스 이름 | 설명 |
---|---|---|
1 (가장 높음) | Guaranteed | 모든 리소스에 대해 제한 및 요청 (선택 사항)이 설정되어 있고 (0이 아님) 그 값이 동일하면 컨테이너는 Guaranteed로 분류됩니다. |
2 | Burstable | 모든 리소스에 대해 요청 및 제한 (선택 사항)이 설정되어 있고 (0이 아님) 그 값이 동일하지 않은 경우 컨테이너는 Burstable로 분류됩니다. |
3 (가장 낮음) | BestEffort | 리소스에 대해 요청 및 제한이 설정되지 않은 경우 컨테이너는 BestEffort로 분류됩니다. |
메모리는 압축할 수 없는 리소스이므로 메모리가 부족한 경우 우선 순위가 가장 낮은 컨테이너가 먼저 종료됩니다.
- Guaranteed 컨테이너는 우선 순위가 가장 높은 컨테이너로 간주되며 제한을 초과하거나 시스템의 메모리가 부족하고 제거할 수 있는 우선 순위가 낮은 컨테이너가 없는 경우에만 종료됩니다.
- 시스템 메모리 부족 상태에 있는 Burstable 컨테이너는 제한을 초과하고 다른 BestEffort 컨테이너가 없으면 종료될 수 있습니다.
- BestEffort 컨테이너는 우선 순위가 가장 낮은 컨테이너로 처리됩니다. 시스템에 메모리가 부족한 경우 이러한 컨테이너의 프로세스가 먼저 종료됩니다.