Вышла новая стабильная версия Kubernetes-платформы Deckhouse — v1.30

Расскажем о ключевых фичах, которые представлены в новом релизе нашей K8s-платформы Deckhouse. Среди них — поддержка Kubernetes v1.22, Debian GNU/Linux 9–11, модуль namespace-configurator и компонент Early OOM killer в модуле node-manager.

1ca4585faed404224cc9e790d1072b2f.png

Важные изменения

Добавлена поддержка 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Обновленный дашборд 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 рекомендуем раздел «Быстрый старт» (на русском и английском языках).

Полезные ссылки на ресурсы проекта:

Читайте также в нашем блоге:

© Habrahabr.ru