Kubernetes v1.36: Снижение уст... Заметка
RSS Блог о Kubernetes

Kubernetes v1.36: Снижение устаревания и улучшение наблюдаемости контроллеров

Контроллеры Kubernetes могут страдать от устаревания данных, что приводит к некорректным или отложенным действиям из-за устаревших кэшированных данных. Устаревание возникает из-за того, что локальный кэш контроллера не синхронизирован с фактическим состоянием кластера. Kubernetes v1.36 представляет функции для уменьшения устаревания и улучшения поведения контроллеров. Эти улучшения включают атомарную обработку FIFO в client-go, повышающую согласованность очереди. Kube-controller-manager интегрировал эти улучшения client-go в несколько ключевых контроллеров, таких как DaemonSet и ReplicaSet. Эти контроллеры теперь проверяют версии ресурсов кэша перед выполнением действий, предотвращая действия с устаревшими данными. Авторы информеров могут использовать ConsistencyStore для отслеживания и управления версиями ресурсов, уменьшая устаревание в своих контроллерах. ConsistencyStore предоставляет функции для записи операций записи, проверки готовности кэша и очистки устаревших записей объектов. Kubernetes v1.36 также предлагает новые метрики для мониторинга работоспособности контроллеров, включая количество пропущенных синхронизаций из-за устаревания. Client-go теперь также выдает метрики, показывающие последние версии ресурсов общих информеров. Команда Kubernetes планирует расширить эти функции по уменьшению устаревания на большее количество контроллеров и интегрировать их в controller-runtime. Они призывают пользователей оставлять отзывы и участвовать в дальнейшей разработке.