HPA

Horizontal Pod Autoscaler (HPA)๋Š” Kubernetes ํ™˜๊ฒฝ์—์„œ Pod์˜ ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ ˆํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋ฅ ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ด๋ฅผ ์„ค๋ช…ํ•  ๋•Œ ์–ด๋–ค ๊ด€์ ์œผ๋กœ ์ ‘๊ทผํ• ์ง€๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ฐ ๊ด€์ ์—์„œ์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์ž.

1. Kubernetes ๊ด€์ ์—์„œ์˜ HPA

Kubernetes ๊ด€์ ์—์„œ HPA๋Š” ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋ฅ ์— ๊ธฐ๋ฐ˜ํ•ด Pod์˜ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” Kubernetes ๊ฐ์ฒด์ด๋‹ค. CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ปค์Šคํ…€ ๋ฉ”ํŠธ๋ฆญ์„ ํ†ตํ•ด์„œ๋„ ์Šค์ผ€์ผ๋ง์„ ์ง€์›ํ•œ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ์ž๋™ ์Šค์ผ€์ผ๋ง: CPU, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ  ๋˜๋Š” ์ปค์Šคํ…€ ๋ฉ”ํŠธ๋ฆญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Pod ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ ˆ.

  • ์ตœ์†Œ/์ตœ๋Œ€ ํŒŒ๋“œ ์ˆ˜ ์„ค์ •: minReplicas์™€ maxReplicas๋กœ Pod ์ˆ˜์˜ ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€์น˜๋ฅผ ์„ค์ •.

  • API ๋ฒ„์ „ ์ฐจ์ด:

    • autoscaling/v1: CPU ์‚ฌ์šฉ๋ฅ ๋งŒ ์ง€์›.

    • autoscaling/v2: ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์ปค์Šคํ…€ ๋ฉ”ํŠธ๋ฆญ์„ ์ง€์›.

์„ค์ • ์˜ˆ์‹œ

๊ณต์‹ ๋ฌธ์„œ

2. Helm ๊ด€์ ์—์„œ์˜ HPA

Helm์„ ์‚ฌ์šฉํ•˜๋ฉด HPA ๊ฐ์ฒด๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. values.yaml ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด ์„ค์ •๊ฐ’์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”ํ•˜์—ฌ ๋ฐ˜๋ณต์ ์ธ ๋ฐฐํฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ํ…œํ”Œ๋ฆฟํ™”: HPA ์„ค์ •์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ถ”์ถœํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

  • ๋ฒ„์ „ ๊ด€๋ฆฌ: Helm ์ฐจํŠธ ๋ฒ„์ „์„ ํ†ตํ•ด ๋ฐฐํฌ๋œ HPA ๋ฒ„์ „์„ ๊ด€๋ฆฌ.

  • ์ž๋™ํ™” ๋ฐฐํฌ: GitLab CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋˜๋Š” ๋‹ค๋ฅธ CI/CD ๋„๊ตฌ๋ฅผ ํ†ตํ•œ ์ž๋™ํ™” ๋ฐฐํฌ.

์„ค์ • ์˜ˆ์‹œ

  • hpa.yaml:

  • values.yaml:

Last updated