기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
워크로드 조정
Kubernetes의 워크로드 규모 조정은 동적 환경에서 애플리케이션 성능과 리소스 효율성을 유지하는 데 필수적입니다. 크기 조정은 애플리케이션이 성능 저하 없이 다양한 워크로드를 처리할 수 있도록 하는 데 도움이 됩니다. Kubernetes는 실시간 지표를 기반으로 리소스를 자동으로 확장하거나 축소할 수 있는 기능을 제공하므로 조직은 트래픽 변화에 신속하게 대응할 수 있습니다. 이러한 탄력성은 사용자 경험을 개선할 뿐만 아니라 리소스 사용률을 최적화하여 과소 사용되거나 과다 프로비저닝된 리소스와 관련된 비용을 최소화하는 데 도움이 됩니다.
또한 효과적인 워크로드 규모 조정은 고가용성을 지원하므로 수요가 가장 많은 기간에도 애플리케이션이 응답성을 유지할 수 있습니다. Kubernetes의 워크로드 조정을 통해 조직은 현재 요구 사항에 맞게 용량을 동적으로 조정하여 클라우드 리소스를 더 잘 활용할 수 있습니다.
이 섹션에서는 다음 유형의 워크로드 조정에 대해 설명합니다.
Horizontal Pod Autoscaler
Horizontal Pod Autoscaler
웹 앱, 마이크로서비스 및 APIs와 같이 시간이 지남에 따라 사용자 수요가 크게 변동할 수 있는 상황에서 HPA는 특히 유용합니다.
Horizontal Pod Autoscaler는 다음과 같은 주요 기능을 제공합니다.
-
자동 조정 - HPA는 실시간 지표에 대한 응답으로 포드 복제본 수를 자동으로 늘리거나 줄여 애플리케이션이 사용자 수요에 맞게 확장할 수 있도록 합니다.
-
지표 기반 결정 - 기본적으로 HPA는 CPU 사용률에 따라 조정됩니다. 그러나 메모리 사용량 또는 애플리케이션별 지표와 같은 사용자 지정 지표를 사용하여 보다 맞춤화된 조정 전략을 수립할 수도 있습니다.
-
구성 가능한 파라미터 - 최소 및 최대 복제본 수와 원하는 사용률을 선택하여 조정의 심각도를 결정할 수 있습니다.
-
Kubernetes와의 통합 - 리소스를 모니터링하고 수정하기 위해 HPA는 지표 서버, Kubernetes API 및 사용자 지정 지표 어댑터를 포함한 Kubernetes 에코시스템의 다른 요소와 함께 작동합니다.
-
리소스 사용률 향상 - HPA는 포드 수를 동적으로 수정하여 리소스를 효과적으로 사용하고 비용을 절감하며 성능을 개선하는 데 도움이 됩니다.
클러스터 비례 Autoscaler
Cluster Proportional Autoscaler
이 접근 방식은 CoreDNS 및 기타 인프라 서비스와 같이 클러스터 크기와 관련하여 특정 수준의 중복성 또는 가용성을 유지해야 하는 애플리케이션에 특히 유용합니다. CPA의 몇 가지 주요 사용 사례는 다음과 같습니다.
-
오버프로비저닝
-
코어 플랫폼 서비스 확장
-
CPA에 지표 서버 또는 Prometheus 어댑터가 필요하지 않으므로 워크로드 스케일 아웃
CPA는 규모 조정 프로세스를 자동화하여 기업이 균형 잡힌 워크로드 분산을 유지하고, 리소스 효율성을 높이고, 사용자 수요를 충족하도록 애플리케이션을 적절하게 프로비저닝할 수 있도록 지원합니다.
Cluster Proportional Autoscaler는 다음과 같은 주요 기능을 제공합니다.
노드 기반 조정 - CPA는 예약할 수 있는 클러스터 노드 수에 따라 복제본을 조정하므로 애플리케이션이 클러스터 크기에 비례하여 확장하거나 축소할 수 있습니다.
비례 조정 - 애플리케이션이 클러스터 크기의 변화에 따라 확장될 수 있도록 오토스케일러는 노드 수와 복제본 수 간에 비례 관계를 설정합니다. 이 관계는 워크로드에 대해 원하는 복제본 수를 계산하는 데 사용됩니다.
Kubernetes 구성 요소와의 통합 - CPA는 Horizontal Pod Autoscaler(HPA)와 같은 표준 Kubernetes 구성 요소와 함께 작동하지만 리소스 사용률 지표보다는 노드 수에 특히 중점을 둡니다. 이 통합을 통해 보다 포괄적인 조정 전략을 수립할 수 있습니다.
Golang API 클라이언트 - CPA는 노드 수와 사용 가능한 코어를 모니터링하기 위해 포드 내부에서 실행되고 Kubernetes API 서버와 통신하는 Golang API 클라이언트를 사용합니다.
구성 가능한 파라미터 -
ConfigMap
사용자는를 사용하여 CPA가 동작을 수정하고 의도한 조정 계획을 따르는 데 사용하는 임계값 및 조정 파라미터를 설정할 수 있습니다.
Kubernetes 기반 Event-Driven Autoscaler
Kubernetes 기반 Event Driven Autoscaler(KEDA
이벤트를 기반으로 조정 프로세스를 자동화함으로써 KEDA는 조직이 리소스 사용률을 최적화하고, 애플리케이션 성능을 개선하고, 오버프로비저닝과 관련된 비용을 절감할 수 있도록 지원합니다. 이 접근 방식은 마이크로서비스, 서버리스 함수, 실시간 데이터 처리 시스템과 같이 다양한 트래픽 패턴을 경험하는 애플리케이션에 특히 유용합니다.
KEDA는 다음과 같은 주요 기능을 제공합니다.
-
이벤트 기반 조정 - KEDA를 사용하면 메시지 대기열, HTTP 요청 또는 사용자 지정 지표와 같은 외부 이벤트 소스를 기반으로 조정 규칙을 정의할 수 있습니다. 이 기능은 애플리케이션이 실시간 수요에 따라 확장되도록 하는 데 도움이 됩니다.
-
경량 구성 요소 - KEDA는 기존 Kubernetes 클러스터에 쉽게 통합하기 위해 많은 설정이나 오버헤드가 필요하지 않은 범용 경량 구성 요소입니다.
-
Kubernetes와의 통합 - KEDA는 Horizontal Pod Autoscaler(HPA)와 같은 Kubernetes 네이티브 구성 요소의 기능을 확장합니다. KEDA는 이러한 구성 요소에 이벤트 기반 조정 기능을 추가하여 대체하는 대신 개선합니다.
-
여러 이벤트 소스 지원 - KEDA는 RabbitMQ, Apache Kafka 등과 같은 인기 있는 메시징 플랫폼을 비롯한 다양한 이벤트 소스와 호환됩니다. 이러한 적응성 때문에 고유한 이벤트 기반 아키텍처에 맞게 조정을 사용자 지정할 수 있습니다.
-
사용자 지정 스케일러 - 사용자 지정 스케일러를 사용하면 KEDA가 특정 비즈니스 로직 또는 요구 사항에 따라 조정 작업을 시작하는 데 사용할 수 있는 특정 지표를 지정할 수 있습니다.
-
선언적 구성 - Kubernetes 원칙에 따라 KEDA를 사용하여 Kubernetes 사용자 지정 리소스를 사용하여 조정이 발생하는 방식을 정의하여 조정 동작을 선언적으로 설명할 수 있습니다.