• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

Node의 CPU 자원이 모자라는 경우에 대한 질문입니다.

22.11.20 03:53 작성 조회수 149

1

제가 강의를 듣고 이해하기로는

한 Pod의 메모리 사용이 limit을 넘은 경우에는 해당 pod을 종료시키고 여유가 있는 node에 새 Pod를 띄우는 action을 취할 수 있다고 이해하였습니다.

CPU의 경우, 한 Pod의 CPU 사용이 limit을 넘은 경우 reqeust 수치로 CPU 자원을 낮춰 할당한다고 설명하셨습니다.

한 Node 안의 여러 Pod에서 CPU 사용이 limit을 넘으려고 하는 경우에는 모든 Pod들이 request CPU에 맞춰 할당 받게되어 처리속도가 느려지게 될 것으로 예상됩니다.(할당되는 CPU가 작아지기 때문에)

이런 경우에는 사용자가 직접 모니터링을 하여 pod을 종료시키고 새 node에 pod을 재생성하야하나요?

아니면 자동으로 pod을 죽이고 새 node에서 띄우는 기능은 없을까요...?

처리 방법이 궁금합니다!

답변 1

답변을 작성해보세요.

0

한 Node안에 request를 낮게 잡은 Pod들을 많이 넣고, 모든 Pod들이 Limit까지 올라가면서 전체 Node의 한계 CPU (allocate)까지 올라가는 상황이 OverCommit 상태입니다.

그래서 Node에 한계 CPU에 다다르면 해당 Pod는 자동으로 다른 Node로 옮겨지는게 쿠버네티스 기본 기능입니다.

이따 어떤 Pod를 먼저 내보낼까에 대한 문제는 제 강의의 QoS 부분을 보시면 되고,

좀더 구체적으로 특정 Pod에 우선순위를 부여하고 싶을 경우 제 강의에는 없지만 Priorityclas s라는걸 쓸 수 있습니다.