Создание BucketClass для MinIO
MinIO интегрируется с Kubernetes через Container Object Storage Interface (COSI), обеспечивая масштабируемое объектное хранилище, совместимое с S3, для аналитики, резервного копирования и восстановления, а также для рабочих нагрузок ML/AI. Перед созданием бакетов необходимо определить BucketClass.
BucketClass — это шаблонный ресурс, который задаёт драйвер хранения, секрет аутентификации и политику удаления, применяемую ко всем бакетам, созданным на его основе.
Содержание
Предварительные требованияШаг 1 — Подготовка кластера MinIOШаг 2 — Подготовка секрета с учётными даннымиШаг 3 — Создание BucketClassВариант 1 — через UIВариант 2 — YAML (GitOps-дружественный)Проверка и дальнейшие шагиПредварительные требования
Шаг 1 — Подготовка кластера MinIO
Убедитесь, что кластер MinIO установлен и доступен. Следуйте документации по установке MinIO для развертывания и настройки вашей среды MinIO.
Шаг 2 — Подготовка секрета с учётными данными
COSI получает учётные данные MinIO из Kubernetes Secret. Соберите следующие значения:
Endpoint— например,http://minio.minio-system.svcилиhttps://minio.example.com:9000AccessKeySecretKey
Создайте Secret в целевом namespace и добавьте метку для обнаружения в UI:
Важно: Метка app=minio необходима для отображения секрета в UI платформы.
Примечание: Имена ключей чувствительны к регистру и должны быть точно Endpoint, AccessKey и SecretKey.
Если вы предпочитаете GitOps, можно определить Secret декларативно:
Шаг 3 — Создание BucketClass
Вариант 1 — через UI
-
Перейдите в Storage → Object StorageClass и нажмите Create Object StorageClass.
-
Выберите драйвер MinIO Object Storage.
-
Заполните следующие поля:
- Deletion Policy — как будет обрабатываться базовый бакет при удалении его BucketClaim (по умолчанию:
Delete). - Secret — выберите секрет, созданный на Шаге 2 (отображаются только секреты с меткой
app=minio). - Allocate Projects — необязательно: ограничить использование определёнными проектами.
- Deletion Policy — как будет обрабатываться базовый бакет при удалении его BucketClaim (по умолчанию:
-
Нажмите Create.
Вариант 2 — YAML (GitOps-дружественный)
Создайте файл minio-bucketclass.yaml. В примере ниже используется драйвер MinIO COSI и ссылка на секрет с правильными параметрами.
Примените манифест:
Проверка и дальнейшие шаги
Проверьте BucketClass:
После готовности BucketClass создайте ресурсы Bucket или BucketClaim, ссылающиеся на него, чтобы обеспечить объектное хранилище, совместимое с S3, на базе MinIO.