제12장. 워크로드확장
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
워크로드 를 확장해야 하는 데에는 여러 이유가 있으며, 특히 증가하는 수요 하에서 최적의 성능을 유지하기 위해 필요합니다. 예를 들어, 애플리케이션이 인기를 얻으면서 사용자 수가 급증하거나 시간이 지남에 따라 더 많은 양의 데이터를 처리해야 할 수 있습니다.
쿠버네티스에서 워크로드 확장은 주로 두 가지 방법으로 달성할 수 있습니다: 각 Pod에 할당된 리소스를 늘리는 방법(수직 확장) 또는 동시에 실행되는 Pod의 수를 조정하는 방법(수평 확장)입니다. 수평 확장은 특히 변동하는 워크로드를 처리하는 데 효과적이며, CPU, 메모리, I/O에 대한 역압과 같은 다양한 수준의 수요에서도 애플리케이션이 응답성과 복원력을 유지하도록 보장합니다.
이 장에서는 애플리케이션 부하 증가에 대응하여 복제본 수를 수동으로 확장하는 방법을 배웁니다. 또한 CPU 및 메모리와 같은 리소스 임계값을 기반으로 관리되는 Pod 집합을 자동으로 확장할 수 있게 해주는 API 기본 요소인 HorizontalPodAutoscaler(HPA) 를 살펴보겠습니다. 시험 범위에 포함되지 않는 수직 확장(VerticalPodAutoscaler, VPA) 에 대해서는 다루지 않습니다.
워크로드의 수동 확장
워크로드의 수동 확장 은 실행할 포드의 고정된 수를 지정해야 합니다. 이 수는 프로덕션 환경에서 수집한 실제 사용량 메트릭이나 개발 중 부하 테스트를 통해 추정된 값을 바탕으로 결정해야 합니다.
그러나 애플리케이션 트래픽은 급증하거나 감소하는 등 예상치 못한 변동을 보일 수 있으므로수요에 맞춰 Pod 수를 지속적으로 모니터링하고 조정해야 합니다. 이를 소홀히 할 경우 자원을 낭비하는 과잉 프로비저닝이나 성능 및 사용자경험 저하를 초래할 수 있는 부족 프로비저닝으로 이어질 수 있습니다. 워크로드 자동 확장
배포의 수동 스케일링
배포가 제어하는 복제본 수를 확장(증가 또는 감소)하는 것은 간단한 과정입니다. 편집
deployment 명령어를 사용하여 실행 중인 객체를 수동으로 편집하고 spec.replicas 속성의 값을 변경하거나, 명령형 scale deployment 명령어 를 사용할 수 있습니다. 실제 프로덕션 환경에서는 배포 YAML 매니페스트를 편집하고 버전 관리에 체크인한 후 변경 사항을 적용하는 것이 좋습니다. 다음 명령어는 복제본 수를 4개에서 6개로 증가시킵니다:
$ kubectl scale deployment app-cache --replicas=6 deployment.apps/app-cache scaled
-w 명령줄 플래그를 사용하면 복제본 생성을 실시간으로 관찰할 수 있습니다. 새로 생성된 Pod의 상태가 ContainerCreating에서 Running으로 변경되는 것을 확인할 ...
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