Стадия жизненного цикла модуля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, что повышает безопасность за счёт минимального количества компонентов в контейнере.