이 페이지에서는 커스텀, 외부 또는 Prometheus 측정항목을 사용하여 특정 워크로드의 복제본 수를 자동으로 늘리거나 줄이는 방법을 설명합니다.
측정항목을 기준으로 자동 확장하는 이유
큐에서 작업을 가져와서 완료하는 애플리케이션을 생각해 보세요. 애플리케이션은 작업을 처리하는 시간 또는 대기중인 작업 수에 대한 서비스 수준 목표(SLO)를 가질 수 있습니다. 큐가 증가하는 경우 워크로드의 복제본이 워크로드 SLO를 충족할 수 있습니다. 큐가 비어 있거나 예상보다 빠르게 감소하는 경우 워크로드 SLO를 유지하면서 복제본을 줄여 비용을 절약할 수 있습니다.
커스텀, Prometheus, 외부 측정항목 정보
커스텀, Prometheus 또는 외부 측정항목을 기준으로 워크로드를 확장할 수 있습니다.
커스텀 측정항목은 Kubernetes에서 실행 중인 애플리케이션에서 보고됩니다. 자세한 내용은 커스텀 및 Prometheus 측정항목을 참조하세요.
Prometheus용 관리형 서비스에서 제공하는 측정항목은 커스텀 측정항목의 유형으로 간주됩니다.
외부 측정항목은 클러스터에서 실행되지 않지만 Kubernetes 애플리케이션에 영향을 주는 성능을 가진 애플리케이션이나 서비스에서 보고됩니다. 예를 들어 Cloud Monitoring에서 Pub/Sub 또는 Dataflow를 포함한 모든 측정항목을 자동 확장할 수 있습니다. Prometheus 측정항목에는 자동 확장에 사용할 수 있는 클러스터에서 생략된 데이터가 포함됩니다. 자세한 내용은 외부 측정항목을 참조하세요.
커스텀 및 Prometheus 측정항목
Managed Service for Prometheus를 사용하여 커스텀 측정항목을 만들고 관리하는 것이 좋습니다. Prometheus Query Language(PromQL)를 사용하여 Monitoring의 모든 측정항목을 쿼리할 수 있습니다. 자세한 내용은 Managed Service for Prometheus의 수평형 포드 자동 확장을 참조하세요.
애플리케이션에서는 Monitoring에 커스텀 측정항목을 보고할 수 있습니다. 이러한 측정항목에 응답하고 워크로드를 자동으로 확장하도록 Kubernetes를 구성할 수 있습니다. 예를 들어 초당 쿼리 수, 초당 쓰기, 네트워크 성능, 다른 애플리케이션과 통신할 때의 지연 시간 또는 워크로드에 적합한 기타 측정항목 등의 측정항목을 기반으로 애플리케이션을 확장할 수 있습니다. 자세한 내용은 측정항목을 기준으로 포드 자동 확장 최적화를 참조하세요.
외부 측정항목
Kubernetes 외부의 애플리케이션 또는 서비스 성능을 기반으로 워크로드를 확장해야 하는 경우 외부 측정항목을 구성할 수 있습니다. 예를 들어 전달되지 않은 메시지 수가 증가하는 추세를 보이는 경우 Pub/Sub에서 메시지를 수집하기 위해 애플리케이션의 용량을 늘려야 할 수 있습니다. 외부 애플리케이션은 클러스터가 액세스할 수 있는 Monitoring 인스턴스로 측정항목을 내보내야 합니다. 시간 경과에 따라 각 측정항목의 추세를 기반으로 수평형 포드 자동 확장 처리에서 워크로드의 복제본 수를 자동으로 변경합니다. 자세한 내용은 측정항목을 기준으로 포드 자동 확장 최적화를 참조하세요.
Monitoring으로 측정항목 가져오기
측정항목을 Monitoring으로 가져오려면 다음 중 하나를 수행합니다.
- Managed Service for Prometheus 구성(권장) 또는
- Cloud Monitoring API를 사용하여 애플리케이션에서 측정항목 내보내기
다음 단계
- Managed Service for Prometheus에 수평형 포드 자동 확장을 사용 설정하는 방법 알아보기
- 수평형 포드 자동 확장 자세히 알아보기
- 수직형 포드 자동 확장 자세히 알아보기