Завезли множество новых функций, рассказываем главное:
⚪️ HPA умеет масштабировать в 0 (Scale to Zero) — Beta
Теперь в манифесте HPA можно штатно задать
minReplicas: 0 (работает по умолчанию).Позволяет ужимать Deployment/StatefulSet до 0 реплик, если нет нагрузки, при использовании External или Object метрик (очереди RabbitMQ/Kafka, метрики Prometheus). При появлении задач HPA сам поднимет первые поды.
⚪️ Защита API-сервера при старте (Resilient WatchCache) — GA
Ключевое улучшение стабильности control-plane. Теперь при перезапуске
kube-apiserver тяжелые LIST/WATCH запросы не кладут etcd и не забивают очереди API. Сервер отдаёт клиентам HTTP 429 (Too Many Requests) с рекомендацией Backoff, пока кэш разогревается.⚪️ Metrics API перешел в Stable (v1)
metrics.k8s.io официально стабилен. Команды kubectl top nodes/pods и стандартный autoscaling по CPU/RAM теперь опираются на GA-версию API.⚪️ Kubelet in UserNamespace (Rootless Mode) — Beta
Все компоненты ноды (kubelet, CRI, CNI, kube-proxy) теперь официально можно запускать в изолированном пользовательском пространство имён (non-root) на хосте, существенно повышая безопасность узлов.
⚪️ Оптимизация etcd & API Server (RangeStream) — Beta
В связке с etcd v3.7+ перешел в Beta механизм
etcd RangeStream. Большие LIST-запросы передаются потоком, а не собираются целиком в памяти, что существенно снижает пиковое потребление RAM на API-сервере.⚪️ Storage Version Migration (SVM) — GA
Автоматическая миграция версий объектов в etcd при обновлении Kubernetes API включена по умолчанию (
storagemigration.k8s.io/v1).@DevOpsKaz 😛
