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

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

Добавлена поддержка Kubernetes v1.22. Старые версии Kubernetes до v1.19 больше не поддерживаются.

Добавлен cert-exporter с алертами для отслеживания сертификатов, срок действия которых истекает. Фича актуальна только для enterprise-версии Deckhouse.

local-path-provisioner обновлён до версии v0.0.21; в конфигурацию модуля добавлено поле reclaimPolicy со значением по умолчанию Retain («Сохранить»), чтобы устанавливать политику возврата локальных томов. Значение можно вручную поменять на Delete.

DexAuthenticator теперь базируется на oauth2-proxy v7.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; CentOS 8 и RHEL 8.

Другие улучшения

Функции, которые появились в отдельных компонентах и модулях:

  • chrony — добавлено отключение NTP-демонов на хосте при включении модуля chrony;

  • control-plane-manager — добавлена базовая политика аудита запросов к kube-apiserver. Теперь по умолчанию пишутся логи запросов о событиях сервисных аккаунтов в системных пространствах имен (kube-system, d8-*) и обо всех действиях с ресурсами в этих пространствах имён;

  • deckhouse — 1) добавлены канареечные релизы для каналов обновлений Early Access и Stable; 2) версия Deckhouse не будет обновлена, если версия Kubernetes ниже 1.19; 3) при пропуске обновлений Deckhouse будут отправлены уведомления: чем больше пропущенных релизов, тем выше критичность уведомления.

  • dhctl — теперь при создании ресурсов в кластере на стадии bootstrap можно использовать данные объектов, которые развернуты в облаке при помощи Terraform (ID сетей и подсетей, ID security-групп). Это добавит больше гибкости в процесс создания новых кластеров и позволит получать желаемую инфраструктуру в облаках одним кликом;

  • ingress-nginx — добавлены панели с метриками для процесса nginx: CPU, RAM, обработанные запросы, количество перезагрузок конфигурации, а также — отдельные панели для самого ingress-controller;

Обновленный дашборд Grafana для модуля ingress-nginx
  • istio — появилась опция alliance.ingressGateway.nodePort.port, с помощью которой устанавливается статический порт для сервиса ingressgateway типа NodePort;

  • monitoring-kubernetes — добавлен eBPF-экспортер, который отслеживает узлы в состоянии OOM (Out of memory);

  • prometheus/grafana — добавлена возможность настройки канала уведомлений для алертов Grafana. Без каналов уведомлений было невозможно получать оповещения в Grafana для источников данных, которые не относятся к Prometheus — например, ClickHouse. Теперь эта проблема решена;

  • user-authn — добавлен вебхук, который проверяет уникальность доменного имени и ingress-класса среди всех DexAuthenticators;

  • okmeter — образ агента Okmeter теперь обновляется независимо от версии Deckhouse.

В документации улучшены несколько существующих инструкций и примеров конфигураций. Из нового: 

Полный список изменений, которые появились в Deckhouse v1.30, опубликован в changelog’е. Обратите внимание, что первый стабильный релиз v1.30 — это версия v1.30.16.

P.S.

Для знакомства с платформой Deckhouse рекомендуем раздел «Быстрый старт» (на русском и английском языках).

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

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