Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
v0.2.23
Дата релиза: 2026-09-15
Модуль по умолчанию пишет логи на уровне INFO вместо DEBUG, поэтому установка, в которой уровень не выбирали, перестаёт получать отладочный вывод от контроллера.
Ключевые изменения
Изменения в этом релизе:
- Значение
logLevelпо умолчанию теперьINFO, а неDEBUG. Там, где уровень не задавали в конфигурации модуля, контроллер и его валидирующий webhook после обновления становятся заметно тише; вернуть прежнюю подробность можно, указавlogLevel: DEBUG.
Улучшения
В этом релизе улучшено:
- Значение
logLevelв конфигурации модуля по умолчанию теперьINFO. Настройка доходит до контроллера и до валидирующего webhook, который живёт в том же поде, поэтому прежний умолчательныйDEBUGозначал, что каждая установка, где настройку не трогали, работала на отладочной подробности и платила за это объёмом логов. Явно указанный в ModuleConfiglogLevelсоблюдается ровно как раньше, каким бы он ни был.
Рекомендации по обновлению
Перед обновлением учтите следующее:
- В конфигурации модуля делать ничего не нужно. Там, где
logLevelне задан, компоненты поднимутся на уровнеINFOпо мере раскатки пода контроллера при обновлении; там, где задан, уровень останется прежним. Чтобы сохранить прежнее поведение, укажитеlogLevel: DEBUGявно.
v0.2.22
Дата релиза: 2026-09-09
Метрики контроллера, объявленные в предыдущем релизе, наконец действительно собираются: стоявший перед ними kube-rbac-proxy не мог авторизовать ни один сбор.
Ключевые изменения
Изменения в этом релизе:
- Prometheus собирает метрики контроллера — чего ни разу не получалось с момента их появления в предыдущем релизе. У стоящего перед ними kube-rbac-proxy не было прав создавать
TokenReviewиSubjectAccessReview, которыми авторизуется каждый сбор, поэтому он отклонял их все:up == 0для заданияcsi-s3-controllerиTargetDown, который никогда не гас.
Исправления
В этом релизе исправлено:
- Теперь kube-rbac-proxy перед метриками контроллера привязан к ClusterRole
d8:rbac-proxyи может авторизовать сбор. Без этой привязки он отказывал в каждом сборе, и единственным симптомом была недоступная цель: до Prometheus не доходила ни одна метрика контроллера модуля — ни число и длительность реконсиляций, ни глубина очереди задач, ни задержки client-go, — аTargetDownгорел всё время, пока модуль установлен.
Рекомендации по обновлению
Перед обновлением учтите следующее:
- В конфигурации модуля делать ничего не нужно. Горящий
TargetDownдля заданияcsi-s3-controllerпогаснет сам, как только поднимется новый под контроллера и пройдёт первый сбор.
v0.2.21
Дата релиза: 2026-09-04
Контроллер модуля отдаёт метрики Prometheus — через kube-rbac-proxy в своём же поде — и пишет структурированные логи; релиз модуля описывается разделами и на двух языках.
Ключевые изменения
Изменения в этом релизе:
- Метрики контроллера собираются Prometheus без всякой настройки:
ServiceMonitorвd8-monitoringснимает их под jobcsi-s3-controller, поэтому становятся видны число и длительность reconcile-циклов, глубина рабочей очереди (workqueue) и задержки обращений к API через client-go. - Контроллер пишет структурированные логи — имя компонента и поля вида «ключ-значение» вместо префиксов в духе
[main], — поэтому всё, что разбирает его строки лога, нужно поправить. - Релиз описывается разделами — краткое описание, главное, новые возможности, улучшения, исправления — по-английски и по-русски, и консоль показывает описание на языке читателя.
Новый функционал
В этом релизе добавлено:
- Контроллер теперь отдаёт метрики.
Улучшения
В этом релизе улучшено:
- Контроллер логирует через общий логгер storage-модулей: каждая строка несёт компонент, из которого она пришла, и свои поля как «ключ-значение». Настройка
settings.logLevelработает точно как раньше (ERROR,WARN,INFO,DEBUG) — изменилась форма строки, а не уровень. - Release notes пишутся по локалям в
.release-notes/<тег>.yamlи<тег>.ru.yamlс разделамиsummary,highlights,new_features,improvements,fixes,security,breaking,upgrade_notes,known_issues,docsиdependencies. В кластер попадают обе локали; релизы, выпущенные до этого, остаются в прежнем плоском формате и отображаются на той же странице точно так же, как раньше.
Исправления
В этом релизе исправлено:
- Релизный тег без release notes публиковал пустой
changelog.yaml, оставляяModuleRelease.spec.changelogпустым при зелёной сборке. Теперь такой тег роняет сборку.
Рекомендации по обновлению
Перед обновлением учтите следующее:
- В конфигурации модуля делать ничего не нужно.
v0.2.20
- Исправление: контроллеру выданы права patch на events вместо list — повторная запись события больше не отклоняется по правам
- Обновление базовых образов до v2.1.2, Go до 1.26.6 и lib-helm до 1.72.14
v0.2.19
- S3StorageClass публикует status.conditions и status.observedGeneration, добавлена колонка Ready. Поле status.phase сохраняет прежний набор значений, но теперь вычисляется из условия Ready
- Обновление базовых образов до v1.3.25, Go 1.26.5 и lib-helm до 1.72.13
v0.2.18
- Обновление базовых образов, Go 1.26.5 и lib-helm до 1.72.12
- Устранены уязвимости в сторонних зависимостях
- Внутренние изменения в сборке модуля и CI, добавлен набор e2e-тестов
v0.2.17
- Обновление базовых образов, Go 1.26.5 и lib-helm до 1.72.9
- Внутренние изменения в сборке модуля
v0.2.16
- Исправлено формирование секрета доступа к registry (deckhouse-registry): теперь в него попадают данные авторизации только активного источника образов
- Обновление базовых образов container-base до v1.1.8, Go 1.26.4 и lib-helm до 1.72.4
v0.2.15
- При пробросе меток из S3StorageClass в StorageClass теперь исключаются метки с заданными игнорируемыми префиксами
- Обновление базовых образов и lib-helm до 1.72.0
v0.2.14
- Метки из S3StorageClass теперь пробрасываются в управляемый StorageClass Kubernetes
- Обновление базовых образов, Go 1.25.10 и lib-helm 1.71.12
v0.2.13
- Добавлен параметр dataNodes.nodeSelector для управления размещением DaemonSet csi-node; пустой объект отклоняется валидирующим вебхуком
- Добавлен контроллер, синхронизирующий значение nodeSelector с DaemonSet csi-node
v0.2.12
- Внутренние изменения в структуре и сборке модуля
v0.2.11
- Обновление базовых образов, Go 1.25.10 и lib-helm 1.71.11
- Внутренние изменения в сборку модуля
v0.2.10
- Исправления в структуру модуля
v0.2.9
- Изменения в CI: DistroPackagesProxy и env прокси в werf, доработки CVE-сканов (role_name, checkout)
- Добавлены кластерные роли user-authz в шаблонах
v0.2.8
- Добавлены инфраструктура и недостающие точки монтирования для distroless-образов
- Обновление базовых образов, Go и lib-helm (фикс CVE)
- Документация по параметрам конфигурации модуля
v0.2.7
- Обновление базовых образов и версии golang
- Обновление хуков, работающих при удалении модуля
- Отключен запрос Capacity со стороны k8s (CSI не поддерживает выдачу Capacity)
- Обновление версии k8s-csi-s3 до 0.43.3
v0.2.6
- Переработка манифестов модуля
v0.2.5
- Обновлена версия базовых образов до v0.5.46
- Обновлена версия Go до 1.24.11
- Исправлены названия полей S3StorageClass в примерах документации
- Исправлены синтаксические ошибки YAML в примерах FAQ
- Объединены controller и webhooks в один deployment
- Добавлен режим HA для CSI контроллера
v0.2.4
- Обновлена версия базовых образов
v0.2.3
- Обновлена версия Go до 1.24.9
- Обновлена lib-helm до deckhouse_lib_helm-1.64.1
v0.2.2
- Добавлены файлы release notes
v0.2.1
- Добавлен readonlyRootFilesystem для большей безопасности модуля
v0.2.0
- Рефакторинг модуля
- Сервисный аккаунт изменен на “csi”
v0.1.5
- Небольшой фикс документации
v0.1.4
- Рефакторинг модуля без изменения функциональности для конечного пользователя
- Добавлены требования к версии Deckhouse (>= 1.67)
v0.1.3
- Добавлена поддержка пользовательских CA для сертификатов
- Обновлен GeeseFS до версии 0.43.0