Як ми створили кастомний VPA контроллер [ukr]
У цій доповіді ми розглянемо практичний кейс впровадження ефективного автоскейлінгу інфраструктури з використанням HPA, VPA та Cluster Autoscaler.
Працюючи зі стандартним VPA, ми зіткнулися з обмеженнями: нестачею гнучкості в налаштуванні інтервалів обчислення та конфліктами при одночасній роботі з HPA. Тому ми вирішили створити власний кастомний VPA-контролер.
У новому рішенні ми:
- Забезпечили коректну спільну роботу VPA та HPA на одних і тих самих ресурсах.
- Реалізували механізм фільтрації короткочасних піків CPU на етапі запуску подів.
- Оптимізували архітектуру: об'єднали функціонал трьох стандартних компонентів у єдиний под.
- Використали нові можливості In-Place Pod Resize, які з'явилися у Kubernetes 1.33.
Головний результат: оптимізація споживання ресурсів та зменшення вартості інфраструктури на 20–40%.
Костянтин Томах
DevOps Engineer, Uklon
- 20 років досвіду в ІТ-сфері (у тому числі понад 8 років у сфері DevOps)
- Досвід розробки на Java та Python
- Сертифікати AWS: Solutions Architect та Developer Associate
- Сертифікати Kubernetes: CKA та CKAD
- Сертифікований мережевий фахівець Cisco (CCNP)