Вышла новая стабильная версия Kubernetes-платформы Deckhouse — v1.30
Расскажем о ключевых фичах, которые представлены в новом релизе нашей K8s-платформы Deckhouse. Среди них — поддержка Kubernetes v1.22, Debian GNU/Linux 9–11, модуль namespace-configurator и компонент Early OOM killer в модуле node-manager.
Важные изменения
Добавлена поддержка Kubernetes v1.22. Старые версии Kubernetes до v1.19 больше не поддерживаются.
В связи с обновлением K8s обновился контроллер ingress-nginx до v1.0; его Pod«ы теперь управляются специальным хуком, а не Kubernetes-контроллером. Также для совместимости с v1.22 в cert-manager«е обновлен «мутирующий» конвертер аннотаций — с v0.3.0 до v2.2.0.
Добавлен cert-exporter с алертами для отслеживания сертификатов, срок действия которых истекает.
Обновился local-path-provisioner. Теперь PVs защищены от переиспользования в случаях, когда хранилище не смонтировано.
oauth2-proxy обновлён до последней версии 7.2.0.
etcd обновлён до версии 3.5.1.
Добавлен новый модуль namespace-configurator. С его помощью можно автоматически управлять аннотациями и label«ами namespace«ов. Фича актуальна только для enterprise-версии Deckhouse.
В модуль node-manager добавлен компонент Early OOM killer, который предотвращает подвисание узлов при OOM (Out of memory), пока ядро ОС освобождает страницы памяти.
В списке поддерживаемых ОС появились Debian 9, 10, 11.
Другие улучшения
Функции, которые появились в отдельных компонентах и модулях:
bashible — добавлен компонент
docker-face-slapper
, который анализирует логи демона dockerd, находит Pod«ы, которые подвисли в статусеTerminating
, и удаляет их (напомним, поддержку CRI Docker отменят в K8s 1.24). Также увеличен диапазон ротации логов kubectl — с 10 Mб до 50 Mб;chrony — добавлена возможность отключить модуль, чтобы использовать NTP-демоны на узлах;
control-plane-manager — добавлена базовая политика аудита. Теперь по умолчанию пишутся логи о событиях сервисных аккаунтов в системных пространствах имен (
kube-system
,d8-
*) и обо всех действиях с ресурсами в этих пространствах имён;deckhouse — добавлены: проверка требований для желаемой версии Deckhouse перед её обновлением; разные уровни важности для алертов в зависимости от количества отложенных обновлений версий Deckhouse; алерт, который оповещает о некорректной конфигурации Deckhouse; канареечное развертывание для релизов;
dhctl — добавлена параметризация для bootstrap-ресурсов. Теперь можно создавать шаблоны ресурсов для bootstrap«а с помощью данных cloud discovery. Например, можно добавлять
YandexInstanceClass
для эфемерных узлов, предоставив файлresources.yaml
для исполняемого dhctl;ingress-nginx — в дашборд Grafana добавлены панели с важными для модуля метриками: CPU, память, обработанные запросы, перезагрузки;
Обновленный дашборд Grafana для модуля ingress-nginx
istio — появилась опция
alliance.ingressGateway.nodePort.port
, с помощью которой устанавливается статический порт для сервисаingressgateway
типа NodePort;local-path-provisioner — в конфигурацию модуля добавлено поле
reclaimPolicy
со значением по умолчаниюRetain
(«Сохранить»), чтобы устанавливать политику возврата локальных томов. Значение можно вручную поменять наDelete
;global — роль
control-plane
назначается теперь всем мастер-узлам во вновь создаваемых кластерах (до этого роль назначалась только одному мастер-узлу);monitoring-kubernetes — добавлен eBPF-экспортер, который отслеживает узлы в состоянии OOM (Out of memory);
prometheus/grafana — добавлена возможность настройки канала уведомлений для алертов Grafana. Без каналов уведомлений было невозможно получать оповещения в Grafana для источников данных, которые не относятся к Prometheus — например, ClickHouse. Теперь эта проблема решена;
user-authn — добавлен вебхук, который проверяет уникальность объектов
DexAuthenticator
, предотвращает их дублирование. Тем самым исключается ситуация, когда неуникальныеDexAuthenticator
«ы перестают работать и подвисают в очереди Deckhouse;okmeter — образ агента мониторинга Okmeter теперь периодически проверяется по тегу.
В документации улучшены несколько существующих инструкций и примеров конфигураций. Из нового:
Полный список изменений, которые появились в Deckhouse v1.30, опубликован в changelog«е. Обратите внимание, что первый стабильный релиз v1.30 — это версия v1.30.16.
P.S.
Для знакомства с платформой Deckhouse рекомендуем раздел «Быстрый старт» (на русском и английском языках).
Полезные ссылки на ресурсы проекта:
Читайте также в нашем блоге: