Вертикальне масштабування подів у Kubernetes 1.35
У версії Kubernetes 1.35 під назвою «Timbernetes» з’явилася довгоочікувана функція вертикального масштабування подів.
Тепер можна збільшувати CPU та пам’ять для подів без їх перезапуску. Це важливо для застосунків, які зберігають стан або дані на конкретних вузлах, адже тепер апгрейд ресурсів не призводить до простоїв сервісу.
Що таке вертикальне масштабування і чому це важливо?
Раніше поди в Kubernetes могли масштабуватися горизонтально — додавалися нові копії контейнерів на вузлах, що працюють для stateless-застосунків.
Якщо потрібно було збільшити ресурси наявного пода (CPU або пам’ять), доводилося його перезапускати або створювати новий под із новими ресурсами. Це створювало ризик простоїв і додаткову складність для stateful-застосунків, де дані або логіка бізнесу прив’язані до конкретного пода.
Тепер у Kubernetes 1.35 з’явилася можливість вертикального масштабування на льоту: можна змінювати CPU і пам’ять для пода без його перезапуску. Це працює як для звичайних подів, так і для джобів у стані paused / suspended.
Приклад на практиці: ви запускаєте джоб для обробки великих даних. Він починає використовувати більше пам’яті, ніж було виділено. Раніше доводилося його зупиняти, видаляти та створювати заново.
Тепер достатньо збільшити ліміт пам’яті для пода або зупиненого джоба — і обробка продовжиться без втрати прогресу.
Інші нові можливості Kubernetes 1.35
- KYAML (Beta)
Спрощена конфігурація для Kubernetes. Якщо YAML здавався вам заплутаним, KYAML дозволяє писати коротше і зрозуміліше, при цьому зберігаючи сумісність з kubectl і інструментами Kubernetes. - Gang scheduling (Alpha)
Стратегія «все або нічого» для груп подів, що залежать один від одного. Ідеально для великих AI-джобів або складних batch-процесів: кластер запускає всі поди одночасно, або жодного, щоб уникнути часткових виконань. - Mutable container resources для suspended Jobs (Alpha)
Тепер можна змінювати ресурси для джобів у стані паузи. Раніше при нестачі пам’яті або CPU джобу доводилося видаляти, а історія виконання губилася.
Кому буде цікаво?
- DevOps-інженерам: менше ручної роботи при апгрейдах, менше простоїв сервісів.
- Data-інженерам і AI-командам: можливість запускати великі, залежні один від одного джоби без ризику часткових виконань.
- Менеджерам проєктів: кращий контроль над витратами ресурсів і прогнозуванням продуктивності кластерів.
Застарілі технології
В релізі також відбуваються зміни, які варто знати:
- Ingress NGINX поступається Gateway API — потрібно оновлювати конфіги для нових кластерів.
- cgroup v1 відходить у минуле, права керуються cgroup v2. Це вплине на користувачів старих Linux-систем.
Післяслово
Вертикальне масштабування, нові підходи та поступове прощання із застарілими механізмами показують, куди рухається кубер і яких навичок чекатимуть від DevOps-фахівців далі.
Якщо ви хочете розуміти, як Kubernetes поводиться в реальних кластерах, у нас є курс про Kubernetes в ITEDU. Там ви зможете як отримати базу з нуля, так і систематизувати знання по Kubernetes, якими вже володієте, всього за 3 тижні.