Oh My Algorithm
Concept Guide지표 되먹임 · 목표 사용률

오토스케일링 (HPA)

개수를 직접 적는 대신 목표를 적어 두는 방식입니다. 오토스케일러는 파드들의 평균 사용률을 주기적으로 재고, 목표와의 비율만큼 개수를 곱해 필요한 수를 구합니다. 늘어난 파드가 같은 부하를 나눠 지면 사용률이 내려가고, 그 값이 다시 다음 판단의 입력이 됩니다 — 개수와 지표가 서로를 끌어당기는 되먹임입니다.

01오토스케일링 (HPA)

부하가 오르면 사람이 개수를 고쳐 왔습니다. 오토스케일러는 그 손이 하던 일을 지표에 맡깁니다.

목표를 평균 CPU 50% 로 두되, 딱 그 값이 아니라 언저리를 띠로 잡습니다. 띠 안에서는 아무것도 하지 않습니다.

지금은 띠 아래입니다. 그래도 셋을 둘로 줄이지 않습니다 — 비율로 셈하면 2.04 이고, 모자라지 않게 늘 올림하기 때문입니다.

트래픽이 몰려 사용률이 띠를 훌쩍 넘어섭니다. 파드 셋으로는 감당이 안 됩니다.

필요한 개수를 같은 식으로 구합니다. 80% 를 50% 로 나눈 1.6배, 셋에 곱해 4.8 — 올림해서 다섯입니다.

다섯으로 늘린 자리에서 곡선이 꺾입니다. 계단이 올라간 지점과 지표가 내려오기 시작한 지점이 같습니다.

46% 는 목표 띠 안입니다. 띠 안에서는 계산조차 하지 않고 그대로 둡니다.

부하가 빠지면 반대로 줄입니다. 다만 곧바로가 아니라 한동안 지켜본 뒤에 내립니다.

더 한산해져도 둘 아래로는 내려가지 않습니다. 계단이 최소치에서 멈춰 섭니다.

레플리카사람replicas: 33
1 / 9

정리

개수를 직접 적는 대신 목표를 적어 두면 재고, 셈하고, 고치는 일이 저절로 되풀이됩니다. 원하는 상태를 한 층 위에서 선언하는 셈입니다.

02 쉽게 이해하기

For Everyone
🔑핵심 동작

목표 지표를 적어 두면 현재 값과의 비율로 필요한 개수를 계산해 파드 수를 조절합니다. 목표 언저리 띠 안에서는 움직이지 않고, 줄일 때는 한동안 지켜본 뒤 내립니다.

💡쉽게 말하면

필요한 개수는 현재 개수 × (현재 지표 ÷ 목표 지표)를 올림해 구합니다.

오르는 쪽은 비교적 빠르게 반응하지만 내리는 쪽은 안정화 시간을 두는데, 그러지 않으면 잠깐 잦아든 부하에 반응해 늘렸다 줄였다를 반복하게 됩니다.

minReplicas·maxReplicas 로 상하한을 두고, 지표는 CPU 말고도 메모리나 커스텀·외부 지표(큐 길이 등)를 쓸 수 있습니다.

파드 개수를 늘리는 것이라 파드 하나의 자원을 키우는 수직 스케일과는 다릅니다.

📍어디에 쓰나
  • 트래픽이 출렁이는 서비스의 자동 확장
  • 목표 사용률·상하한 정하기
  • 큐 길이 같은 커스텀 지표로 스케일
  • 비용과 여유분의 절충

03 자주 묻는 질문

FAQ
오토스케일링 (HPA)란 무엇인가요?+

개수를 직접 적는 대신 목표를 적어 두는 방식입니다. 오토스케일러는 파드들의 평균 사용률을 주기적으로 재고, 목표와의 비율만큼 개수를 곱해 필요한 수를 구합니다. 늘어난 파드가 같은 부하를 나눠 지면 사용률이 내려가고, 그 값이 다시 다음 판단의 입력이 됩니다 — 개수와 지표가 서로를 끌어당기는 되먹임입니다.

오토스케일링 (HPA)은(는) 어디에 사용하나요?+

트래픽이 출렁이는 서비스의 자동 확장, 목표 사용률·상하한 정하기, 큐 길이 같은 커스텀 지표로 스케일, 비용과 여유분의 절충

오토스케일링 (HPA)를 쉽게 비유하면?+

목표 지표를 적어 두면 현재 값과의 비율로 필요한 개수를 계산해 파드 수를 조절합니다. 목표 언저리 띠 안에서는 움직이지 않고, 줄일 때는 한동안 지켜본 뒤 내립니다.