제13장. 리소스 요구 사항, 제한 및 할당량
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
포드에서 실행되는 워크로드는 일정량의 리소스(예: CPU 및 메모리)를 소비합니다. 해당 애플리케이션에 대한 리소스 요구 사항을 정의해야 합니다. 컨테이너 수준에서 애플리케이션 실행에 필요한 최소 리소스 양과 애플리케이션이 소비할 수 있는 최대 리소스 양을 정의할 수 있습니다. 애플리케이션 개발자는 부하 테스트를 통해 또는 실행 시 리소스 소비를 모니터링하여 적절한 크기를 결정해야 합니다.
쿠버네티스의 리소스 단위
쿠버네티스는 CPU 리소스 를 밀리코어(m, 밀리CPU라고도 함)로, 메모리 리소스는 바이트 단위로 측정합니다. 따라서 리소스가 600m 또는 100Mi로 정의된 것을 볼 수 있습니다. 이러한 리소스 단위에 대한 심층적인 내용은공식 문서의 "쿠버네티스의 리소스 단위"를 참조하는 것이 좋습니다.
쿠버네티스 관리자는 사용 가능한 리소스 용량 활용을 강제하기 위한 조치를 마련할 수 있습니다. 이 장에서는 이 영역의 두 가지 쿠버네티스 기본 요소인 ResourceQuota와 LimitRange에 대해 설명합니다. ResourceQuota 는 네임스페이스 수준에서 집계된 리소스 제약을 정의합니다. LimitRange 는 특정 유형의 단일 객체(예: Pod 또는 PersistentVolumeClaim)에 대한 리소스 할당을 제약하거나 기본값을 지정하는 정책입니다.
리소스 요구 사항 작업
모든 컨테이너에 대해 리소스 요청 과 제한(limit)을 지정하는 것이 권장되는 관행입니다. 특히 아직 프로덕션 환경에서 실행되지 않은 애플리케이션의 경우 이러한 리소스 요구 사항을 결정하는 것이 항상 쉬운 것은 아닙니다. 개발 주기 초기에 애플리케이션에 대한 부하 테스트를 수행하면 리소스 요구 사항 분석에 도움이 될 수 있습니다. 클러스터에 배포한 후 애플리케이션의 리소스 사용량을 모니터링하여 추가 조정을 할 수 있습니다.
서비스 품질(QoS) 클래스 쿠버네티스의 서비스 품질(QoS) 클래스 는 리소스 요청량과 제한량에 따라 파드를 보장형(Guaranteed), 버스트형(Burstable), 최선노력형(BestEffort) 계층으로 자동 분류하여 노드에 리소스 압박이 발생할 때 제거 우선순위를 결정합니다. QoS 이해는 프로덕션 워크로드에 유용하지만, CKA 시험에서는기본적인 제거 우선순위보다는 실질적인 리소스 관리와 파드 스케줄링에 더 중점을 두기 때문에 명시적으로 다루지 않습니다.
컨테이너 리소스 요청 정의
워크로드 스케줄링( )에 영향을 미치는 한 가지 지표 는 Pod 내 컨테이너가 정의한 리소스 요청입니다. 일반적으로 지정 가능한 리소스는 CPU와 메모리입니다. 스케줄러는 노드의 리소스 용량이 Pod의 리소스 요구 사항을 충족할 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access