HPA مخفف Horizontal Pod Autoscaler است. این کنترلر تعداد Podهای یک Workload را بر اساس سنجه‌هایی مثل CPU یا سنجه‌های سفارشی تغییر می‌دهد. برای کارکرد سنجه‌های CPU نصب Metrics Server یا ارائه‌کننده سازگار ضروری است.

kubectl autoscale deployment shop-api --cpu-percent=65 --min=2 --max=8
kubectl get hpa
kubectl describe hpa shop-api

افزایش تعداد پادها بدون در نظر گرفتن ظرفیت دیتابیس یا حداکثر اتصال‌ها ممکن است مشکل را به لایه دیگری منتقل کند.

اصطلاحات مرتبط: کوبرنتیز، مقیاس‌پذیری افقی، متریک، بک پرشر.

HPA چگونه تصمیم می‌گیرد؟

HPA در کوبرنتیز تعداد Replica یک Workload را براساس متریک‌هایی مانند CPU یا متریک سفارشی تنظیم می‌کند. اگر Bottleneck اصلی دیتابیس باشد, زیاد کردن Pod لزوماً کارایی را بهتر نمی‌کند.