Вышла новая стабильная версия 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 больше не поддерживаются.
Добавлен 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;
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.
В документации улучшены несколько существующих инструкций и примеров конфигураций. Из нового:
В раздел про настройку модуля ingress-nginx добавлен пример использования inlet’а LoadBalancer для bare metal (MetalLB Load Balancer).
Обновлена документация по автоматическим обновлениям Deckhouse.
В Getting started появились инструкции по установке Deckhouse в существующий Kubernetes-кластер и с помощью kind (Kubernetes IN Docker).
Полный список изменений, которые появились в Deckhouse v1.30, опубликован в changelog’е. Обратите внимание, что первый стабильный релиз v1.30 — это версия v1.30.16.
P.S.
Для знакомства с платформой Deckhouse рекомендуем раздел «Быстрый старт» (на русском и английском языках).
Полезные ссылки на ресурсы проекта:
официальный Twitter-аккаунт (на английском);
Читайте также в нашем блоге: