Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки
Релиз
v0.0.3
| Дата | 2026-09-04 |
| Модуль | managed-hive-metastore |
| Версия | 0.0.3 |
Кратко
Этот релиз заметно улучшает эксплуатацию Managed Hive Metastore и зрелость релизного процесса. В модуле появились раздельные webhook/controller компоненты и расширенная TLS/S3-логика.
Ключевые изменения
- Webhook и controller разделены на отдельные компоненты.
- Настройки S3 region и TLS обрабатываются более консистентно.
- Добавлены smoke-сценарии для positive/negative и TLS-кейсов.
- Changelog/release-notes процесс стал bilingual и автоматизирован CI.
Исправления
- Исправлены edge-case сценарии валидации и конфигурации S3/TLS в логике operator/webhook
- Повышена стабильность build/lint этапов в release pipeline модуля
v0.0.2
| Дата | 2025-12-01 |
| Модуль | managed-hive-metastore |
| Версия | 0.0.2 |
| Каналы обновлений | Alpha, Beta, Early Access, Stable, Rock Solid |
| Редакции | FE, EE |
Новое
Добавлена поддержка серверных и клиентских TLS-сертификатов
Реализована поддержка TLS-сертификатов для:
- серверного TLS Hive Metastore;
- клиентского TLS для подключения к PostgreSQL;
- клиентского TLS для подключения к S3.
Поддерживаются два режима управления сертификатами:
CertManager— выпуск и управление сертификатами через cert-manager;CustomCertificate— использование пользовательских Kubernetes Secret с сертификатами.
Пример конфигурации:
spec:
tls:
mode: CertManager
certManager:
clusterIssuerName: selfsigned
externalConnections:
database:
type: Postgres
postgres:
mode: Secret
secretName: pg-creds
tls:
insecureSkipVerify: false
mode: CertManager
certManager:
issuerName: selfsigned
objectStore:
type: S3
s3:
endpoint: minio.minio:9000
bucket: data-lake
credentials:
mode: Secret
secretName: s3-creds
tls:
insecureSkipVerify: false
mode: CustomCertificate
caCertSecretName: s3-certДобавлен init-контейнер
Добавлен init-контейнер для подготовки truststore и keystore, необходимых для работы Hive Metastore с TLS-сертификатами.
Добавлен agent sidecar-контейнер
Добавлен sidecar-контейнер agent, который выполняет проверку сертификатов и записывает информацию в статус ресурса HiveMetastore.
В статус CR добавляется информация о:
- TTL сертификатов;
- ошибках проверки сертификатов;
- состоянии серверного сертификата;
- состоянии клиентских сертификатов для внешних подключений.
Пример статуса:
status:
certificate:
client:
Postgres:
ttl: '3624'
S3:
ttl: '3624'
server:
ttl: '89'v0.0.1
| Дата | 2025-10-01 |
| Модуль | managed-hive-metastore |
| Версия | 0.0.1 |
| Каналы обновлений | Alpha, Beta, Early Access, Stable, Rock Solid |
| Редакции | FE, EE |
Первый релиз модуля Managed Hive Metastore. В этой версии реализованы базовые возможности для развёртывания и управления экземплярами Hive Metastore в кластере DKP.
Новое
Создание standalone-серверов Hive Metastore
Добавлен новый CRD HiveMetastore, который позволяет разворачивать независимые серверы Hive Metastore. При создании ресурса пользователь задаёт вычислительные ресурсы (CPU, память) и указывает класс метастора.
Валидация через webhooks
Все операции создания и изменения ресурсов HiveMetastore и HiveMetastoreClass проходят через admission webhooks. Webhooks проверяют корректность параметров: допустимые диапазоны CPU и памяти, корректность внешних подключений, а также пользовательские правила, заданные администратором.
Кастомные правила валидации на CEL
Администраторы могут задавать произвольные правила валидации ресурсов HiveMetastore в HiveMetastoreClass с помощью выражений CEL (Common Expression Language). Правила проверяются webhook-ом при каждом создании или изменении экземпляра HiveMetastore, что позволяет реализовывать специфичные для организации ограничения без изменения кода оператора.
Шаблоны конфигурации через HiveMetastoreClass
Добавлен CRD HiveMetastoreClass, который позволяет администраторам создавать именованные шаблоны для метасторов. Класс задаёт политику допустимых ресурсов (диапазоны CPU и памяти), а также пользовательские правила валидации.
Внешние подключения
Поддержка подключения к внешним ресурсам:
| Тип подключения | Параметр | Описание |
|---|---|---|
| База данных (PostgreSQL) | database.type |
Тип базы данных (Postgres) |
database.postgres.mode |
Режим управления учетными данными (Plain или Secret) | |
database.postgres.secretName |
Имя Kubernetes Secret (при использовании Secret mode) | |
database.postgres.host |
Хост базы данных (при использовании Plain mode) | |
database.postgres.port |
Порт базы данных | |
database.postgres.database |
Имя базы данных для таблиц метастора | |
database.postgres.username |
Имя пользователя (при использовании Plain mode) | |
database.postgres.password |
Пароль (при использовании Plain mode) | |
| Объектное хранилище (S3) | objectStore.type |
Тип объектного хранилища (S3) |
objectStore.s3.endpoint |
Адрес службы S3 | |
objectStore.s3.bucket |
Имя корзины для хранения данных | |
objectStore.s3.region |
Регион AWS | |
objectStore.s3.prefix |
Префикс пути каталога внутри корзины | |
objectStore.s3.usePathStyle |
Использование адресации URL в стиле пути | |
objectStore.s3.credentials.mode |
Режим учетных данных (Plain или Secret) | |
objectStore.s3.credentials.secretName |
Имя Kubernetes Secret для учетных данных (при использовании Secret mode) | |
objectStore.s3.credentials.accessKey |
Ключ доступа (при использовании Plain mode) | |
objectStore.s3.credentials.secretKey |
Секретный ключ (при использовании Plain mode) |
Режимы управления учетными данными
Пользователи могут выбирать между двумя режимами для хранения конфиденциальной информации:
- Plain Mode: Учетные данные указываются напрямую в конфигурации (подходит для разработки)
- Secret Mode: Учетные данные хранятся в Kubernetes Secrets (рекомендуется для продакшена)
Поддержка distroless-образов
Образы для Hive Metastore основаны на архитектуре distroless, что повышает безопасность за счёт минимального количества компонентов в контейнере.