HorizontalPodAutoscaler의 behavior 필드 중 stabilizationWindowSeconds 값이 Kubernetes 코드에서 어떻게 사용되는지 분석
Last updated
Last updated
horizontal.go
파일에는 HPA 스케일링 로직을 담당하는 핵심 기능들이 포함되어 있습니다. 특히 stabilizationWindowSeconds
값이 스케일 다운 안정화 기간을 어떻게 제어하는지 확인.
파일 구조 및 핵심 함수:
주요 기능이 구현된 함수:
computeDesiredReplicas
stabilizeRecommendation
behavior
필드에 따른 스케일 업/다운 로직은 computeDesiredReplicas
함수에서 처리
스케일 다운 로직 분석:
computeDesiredReplicas
함수 내에서 스케일 다운 로직이 어떻게 작동하는지 확인하기 위해 stabilizationWindowSeconds
값이 사용되는 부분을 조사.
스케일 다운 로직은 stabilizeRecommendation
함수에서 stabilizationWindowSeconds
값을 활용하여 안정화 기간을 설정.
1. 분석 보고서: stabilizationWindowSeconds 값 사용 방식
stabilizationWindowSeconds
값 사용 코드
horizontal.go
파일 내 computeDesiredReplicas
함수 및 stabilizeRecommendation
함수에서 사용.
computeDesiredReplicas
함수:
horizontal.go
의 약 800번째 줄에 정의되어 있다.
stabilizeRecommendation
함수를 호출하여 안정화 기간에 따른 파드 수를 조정.
kubernetes/pkg/controller/podautoscaler/horizontal.go
의 주요 코드 발췌:
stabilizeRecommendation
함수 구현 코드:
stabilizeRecommendation
함수는 stabilizationWindowSeconds
값에 따라 스케일 다운 안정화 기간을 제어.
요약:
stabilizationWindowSeconds
값은 computeDesiredReplicas
함수에서 stabilizeRecommendation
함수로 전달.
stabilizeRecommendation
함수는 안정화 기간 내에 결정된 파드 수를 유지하기 위해 이전의 스케일 다운 이벤트 이후 안정화 기간을 계산.
예시 매니페스트: stabilizationWindowSeconds
값을 활용한 HorizontalPodAutoscaler
매니페스트