목록 보기
Kubernetes Pod Resources: CPU Limit
데브옵스

Kubernetes Pod Resources: CPU Limit

아이디어스
아이디어스
2024년 1월 2일

두줄요약

Kubernetes에서 CPU Limit이 응답 지연을 유발하는지 검증하기 위해 다양한 테스트를 진행했습니다. 일부 워크로드에서는 Limit 해제가 지표와 응답성을 개선했습니다.

문제 상황

  • Kubernetes(EKS)에서 운영 중인 image 서비스에 순간 트래픽이 몰리며 응답 지연과 다른 서비스 영향이 발생
  • 노드와 이웃 Pod의 CPU 여유가 있었지만 Pod의 CPU Limit 때문에 이를 충분히 활용하지 못하는 현상 확인

원인 분석

  • CPU Limit이 걸린 상태에서 image Pod가 노드의 남는 CPU를 온전히 쓰지 못해 처리 지연이 누적
  • CPU Request가 없는 BestEffort Pod는 CPU Share 기본값이 낮아 경쟁 상황에서 불리할 수 있음

해결 방법

  • Limit 유무와 Request/Share 조합별로 6가지 테스트를 수행해 노드, Pod, 응답 지표를 비교
  • image Pod에 한해 CPU Limit을 해제하고 Production에 일부 적용해 순간 요청 급증 대응을 완화

성능/운영 포인트

  • CPU Limit 해제 시 노드 상태나 kubelet에 악영향 없이 여유 CPU를 활용 가능
  • CPU Request가 적절히 정의된 환경에서는 Limit 없이도 다른 Pod를 굶기지 않는 경향 확인
  • 응답 속도 P99와 CPU Throttling 개선, 트래픽 급증 시 처리 안정성 향상

다음 읽기

#Kubernetes 주제를 다룬 다른 회사 글

당신의 CPU는 열심히 일하고 있나요?

쿠버네티스의 CPU 요청량, 상한, CFS 스로틀링 관계를 설명하고 상한 제거가 성능에 미치는 영향을 테스트 결과로 정리했습니다. Spring 싱글 테넌시는 상한 제거가 유효했고, Node.js 멀티 테넌시는 일관성 때문에 유지가 적절했습니다.

라인
라인
데브옵스

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...