Создание BucketClass для Ceph RGW
Ceph Object Storage может быть предоставлено рабочим нагрузкам Kubernetes через Container Object Storage Interface (COSI), обеспечивая высокомасштабируемое и эластичное хранилище для сценариев анализа больших данных, резервного копирования и восстановления, а также машинного обучения. Перед тем как пользователи смогут создавать bucket, необходимо создать BucketClass.
BucketClass — это шаблонный ресурс, который задаёт драйвер хранения, секрет аутентификации и политику удаления, применяемые ко всем bucket, созданным на его основе.
Содержание
Предварительные требованияШаг 1 – Подготовка кластера CephШаг 2 – Установка плагина COSIШаг 3 – Подготовка секрета с учётными даннымиМетод A – Автогенерация (Ceph под управлением Rook)Метод B – Вручную (Внешний Ceph)Шаг 4 – Создание BucketClassВариант 1 – Через UIВариант 2 – YAML (подходит для GitOps)Проверка и дальнейшие шагиПредварительные требования
Шаг 1 – Подготовка кластера Ceph
Выберите один из вариантов:
Шаг 2 – Установка плагина COSI
Установите следующие плагины кластера:
- Alauda Container Platform COSI
- Alauda Container Platform COSI for Ceph
См. Installing для точных команд.
Шаг 3 – Подготовка секрета с учётными данными
COSI получает учётные данные RGW из Kubernetes Secret. Выберите один метод в зависимости от вашего развертывания Ceph.
Метод A – Автогенерация (Ceph под управлением Rook)
-
Создайте ресурс CephObjectStoreUser в пространстве имён rook-ceph:
-
Примените манифест:
-
Получите имя автоматически созданного секрета (будет использоваться далее):
Метод B – Вручную (Внешний Ceph)
-
Получите AccessKey, SecretKey и RGW Endpoint.
-
Создайте Secret в нужном проекте/пространстве имён и добавьте метку, чтобы UI мог его обнаружить:
Важно: Метка
app=rook-ceph-rgwобязательна для отображения секрета в UI платформы.
Шаг 4 – Создание BucketClass
Вариант 1 – Через UI
-
Перейдите в Storage → Object StorageClass и нажмите Create Object StorageClass.
-
Выберите драйвер Ceph Object Storage.
-
Заполните следующие поля:
- Deletion Policy – как обрабатывается базовый bucket при удалении его BucketClaim (по умолчанию:
Delete). - Secret – выберите секрет, подготовленный на Шаге 3 (отображаются только секреты с меткой
app=rook-ceph-rgw). - Allocate Projects – (необязательно) ограничение использования конкретными проектами.
- Deletion Policy – как обрабатывается базовый bucket при удалении его BucketClaim (по умолчанию:
-
Нажмите Create.
Вариант 2 – YAML (подходит для GitOps)
Создайте файл ceph-bucketclass.yaml с корректными ссылками на секрет:
Примените манифест:
Проверка и дальнейшие шаги
Проверьте BucketClass:
После готовности BucketClass вы можете создавать ресурсы Bucket или BucketClaim, ссылающиеся на него, тем самым предоставляя S3-совместимое объектное хранилище для ваших приложений.