[k8s] Pod - QoS Classes (2)
카테고리: k8s
태그: k8s
🎯QoS 클래스
쿠버네티스는 Request와 limit을 기반으로 Pod를 특정 QoS 클래스로 분류하고 노드에 사용 가능한 리소스가 충분하지 않을 때 제거할 파드를 결정하기 위해 QoS 클래스를 사용합니다.
가능한 QoS 클래스는 Guaranteed, Ubrstable, BestEffort 입니다. 노드에 리소스가 부족하면 쿠버네티스는 가장 먼저 BestEffort 클래스의 파드를 제거하고 Burstable, Guaranteed 파드 순으로 제거합니다.
Guaranteed
Guaranteed클래스의 파드는 리소스 제한에 있어 가장 엄격하고 퇴거될 가능성이 가장 낮습니다.- 파드 명세에
request와limit의 값이 명시적으로 설정되어 있고 두 값이 같은 경우에Guaranteed클래스의 파드가 생성됩니다.
Burstable
Burstable클래스의 파드는 최소한으로 보장되는 리소스 하한이 있고 노드에 사용 가능한 리소스가 충분한 경우 유연하게 확장될 수 있습니다.BestEffort클래스의 파드가 모두 퇴거되거 나서야 퇴거되기 시작됩니다. (request,limit값에 따라BestEffort클래스의 파드보다 우선순위가 낮아질 수 있습니다.)- 파드 명세에
request만 명시되어 있는 경우Burstable클래스의 파드가 생성됩니다.
BestEffort
BestEffort클래스의 파드는 노드에 유휴한 리소스를 자유롭게 사용할 수 있습니다. 예를 들어 노드의 CPU 코어 수가 16개일 때Guaranteed포드가 4개를 사용하고BestEffort포드가 나머지 12개의 CPU 코어를 모두 사용할 수 있습니다.BestEffort클래스는 3가지 클래스 중 가장 우선순위가 낮아 노드의 리소스가 부족한 경우 먼저 제거될 가능성이 큽니다.- 파드 명세에
request와limit모두 명시되어 있지 않은 경우BestEffort클래스의 파드가 생성됩니다.
📌출처
👍 개인 공부 기록용 블로그입니다. 오류나 조언이 있으시면 언제든지 댓글 혹은 메일로 남겨주시면 감사하겠습니다! 😄
댓글남기기