[k8s] Pod - QoS Classes (2)

업데이트:     Updated:

카테고리:

태그:

🎯QoS 클래스

쿠버네티스는 Requestlimit을 기반으로 Pod를 특정 QoS 클래스로 분류하고 노드에 사용 가능한 리소스가 충분하지 않을 때 제거할 파드를 결정하기 위해 QoS 클래스를 사용합니다.

가능한 QoS 클래스는 Guaranteed, Ubrstable, BestEffort 입니다. 노드에 리소스가 부족하면 쿠버네티스는 가장 먼저 BestEffort 클래스의 파드를 제거하고 Burstable, Guaranteed 파드 순으로 제거합니다.

Guaranteed

  • Guaranteed 클래스의 파드는 리소스 제한에 있어 가장 엄격하고 퇴거될 가능성이 가장 낮습니다.
  • 파드 명세에 requestlimit의 값이 명시적으로 설정되어 있고 두 값이 같은 경우에 Guaranteed 클래스의 파드가 생성됩니다.

Burstable

  • Burstable 클래스의 파드는 최소한으로 보장되는 리소스 하한이 있고 노드에 사용 가능한 리소스가 충분한 경우 유연하게 확장될 수 있습니다.
  • BestEffort 클래스의 파드가 모두 퇴거되거 나서야 퇴거되기 시작됩니다. (request,limit 값에 따라 BestEffort 클래스의 파드보다 우선순위가 낮아질 수 있습니다.)
  • 파드 명세에 request만 명시되어 있는 경우 Burstable 클래스의 파드가 생성됩니다.

BestEffort

  • BestEffort 클래스의 파드는 노드에 유휴한 리소스를 자유롭게 사용할 수 있습니다. 예를 들어 노드의 CPU 코어 수가 16개일 때 Guaranteed 포드가 4개를 사용하고 BestEffort 포드가 나머지 12개의 CPU 코어를 모두 사용할 수 있습니다.
  • BestEffort 클래스는 3가지 클래스 중 가장 우선순위가 낮아 노드의 리소스가 부족한 경우 먼저 제거될 가능성이 큽니다.
  • 파드 명세에 requestlimit 모두 명시되어 있지 않은 경우 BestEffort 클래스의 파드가 생성됩니다.

📌출처

kubernetes Docs


👍 개인 공부 기록용 블로그입니다. 오류나 조언이 있으시면 언제든지 댓글 혹은 메일로 남겨주시면 감사하겠습니다! 😄

맨 위로 이동하기

k8s 카테고리 내 다른 글 보러가기

댓글남기기