K8s QoS 클래스

1 개요[ | ]

Pod qosClass
K8s Pod QoS 클래스

Kubernetes에서 Pod는 리소스 요청(`resources.requests`)과 제한(`resources.limits`) 설정에 따라 자동으로 QoS(Quality of Service) 클래스로 분류된다. 이 분류는 노드 리소스가 부족할 때 어떤 Pod를 먼저 종료할지를 결정하는 기준이 된다.

QoS Class 조건 설명 종료 우선순위
Guaranteed 모든 컨테이너가 `requests`와 `limits`를 모두 동일하게 지정함 가장 높은 보장 수준. 중요한 워크로드에 사용됨. 가장 낮음
Burstable 하나 이상의 컨테이너가 `requests`와 `limits`를 지정했지만, 일부만 설정하거나 값이 다름 일반적인 서비스에 적합. 중간
BestEffort 모든 컨테이너에 `requests`와 `limits`가 없음 리소스 보장이 없음. 테스트용, 비중요 백그라운드 작업 등에 사용. 가장 높음

2 조회 방법[ | ]

아래 명령어를 사용하면 모든 네임스페이스의 Pod에 대해 QoS 클래스를 한눈에 확인할 수 있다.

$ kubectl get pods -A -ojsonpath="{range .items[*]}{.metadata.namespace} {.metadata.name} {.status.qosClass}{'\n'}" | column -t
dev         api-server-76f89b7c6b-abc12         Guaranteed
dev         redis-cache-59c6d77c8f-d3j5k        BestEffort
dev         web-frontend-7b97cdcf79-xkq4z       Burstable
test        mysql-db-6fd6974c58-mnbv9           Guaranteed
test        logger-agent-74cccd9f65-lopq2       BestEffort
staging     payment-service-5b9c58b9fc-qpw8z    Burstable
staging     auth-service-56dfdc8dd9-xyz01       Guaranteed

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}