• Русский
  • Установка

    Alauda Container Platform (ACP) Object Storage с MinIO — это сервис объектного хранения, основанный на протоколе с открытым исходным кодом Apache License v2.0. Он совместим с интерфейсом облачного хранилища Amazon S3 и идеально подходит для хранения больших объемов неструктурированных данных, таких как изображения, видео, файлы журналов, резервные копии и образы контейнеров/виртуальных машин. Размер объекта может быть любым — от нескольких килобайт до максимума в 5 терабайт.

    Предварительные требования

    • MinIO строится на базовом хранилище, поэтому убедитесь, что в текущем кластере создан класс хранилища. Рекомендуется TopoLVM.

    • Скачайте установочный пакет Alauda Container Platform Storage Essentials, соответствующий архитектуре вашей платформы.

    • Загрузите установочный пакет Alauda Container Platform Storage Essentials с помощью механизма Upload Packages.

    • Скачайте установочный пакет Alauda Container Platform (ACP) Object Storage with MinIO, соответствующий архитектуре вашей платформы.

    • Загрузите установочный пакет Alauda Container Platform (ACP) Object Storage with MinIO с помощью механизма Upload Packages.

    Процедура

    Развертывание Alauda Container Platform Storage Essentials

    1. Войдите в систему, перейдите на страницу Administrator.

    2. Нажмите Marketplace > OperatorHub, чтобы перейти на страницу OperatorHub.

    3. Найдите Alauda Container Platform Storage Essentials, нажмите Install и перейдите на страницу Install Alauda Container Platform Storage Essentials.

      Параметры конфигурации:

      ПараметрРекомендуемая конфигурация
      ChannelКанал по умолчанию — stable.
      Installation ModeCluster: Все пространства имён в кластере используют один экземпляр Operator для создания и управления, что снижает использование ресурсов.
      Installation PlaceВыберите Recommended, Namespace поддерживается только acp-storage.
      Upgrade StrategyManual: При появлении новой версии в Operator Hub требуется ручное подтверждение для обновления Operator до последней версии.

    Развертывание Operator

    1. В левой навигационной панели нажмите Storage > Object Storage.

    2. Нажмите Configure Now.

    3. На странице мастера Deploy MinIO Operator нажмите внизу справа Deploy Operator.

      • Если страница автоматически перейдёт к следующему шагу, значит развертывание Operator прошло успешно.

      • Если развертывание не удалось, следуйте подсказкам интерфейса для Clean Up Deployed Information and Retry и повторно разверните Operator.

    Создание кластера

    1. На странице мастера Create Cluster настройте базовую информацию.

      ПараметрОписание
      Access KeyИдентификатор ключа доступа. Уникальный идентификатор, связанный с приватным ключом доступа; используется вместе с Access Key ID для шифрования и подписи запросов.
      Secret KeyПриватный ключ доступа, используемый вместе с Access Key ID для шифрования и подписи запросов, идентификации отправителя и предотвращения подделки запросов.
    2. В разделе Resource Configuration настройте характеристики согласно следующим инструкциям.

      ПараметрОписание
      Small scaleПодходит для обработки до 100 000 объектов, поддерживает не более 50 одновременных обращений в тестовых средах или сценариях резервного копирования. Запрос и лимит CPU по умолчанию — 2 ядра, запрос и лимит памяти — 4 Gi.
      Medium scaleПредназначен для корпоративных приложений с хранением 1 000 000 объектов и поддержкой до 200 одновременных запросов. Запрос и лимит CPU по умолчанию — 4 ядра, запрос и лимит памяти — 8 Gi.
      Large scaleПредназначен для групп пользователей с потребностью в хранении 10 000 000 объектов и обработке до 500 одновременных запросов, подходит для сценариев с высокой нагрузкой. Запрос и лимит CPU по умолчанию — 8 ядер, запрос и лимит памяти — 16 Gi.
      CustomПредлагает гибкие параметры настройки для профессиональных пользователей с особыми требованиями, обеспечивая точное соответствие масштаба сервиса и требований к производительности. Примечание: при настройке пользовательских характеристик убедитесь, что:
      • Запрос CPU больше 100 m.
      • Запрос памяти не менее 2 Gi.
      • Лимиты CPU и памяти не меньше соответствующих запросов.
    3. В разделе Storage Pool настройте соответствующую информацию согласно следующим инструкциям.

      ПараметрОписание
      Instance NumberУвеличение количества экземпляров в кластере MinIO значительно повышает производительность и надёжность системы, обеспечивая высокую доступность данных. Однако слишком большое количество экземпляров может привести к следующим проблемам:
      • Увеличение потребления ресурсов.
      • Если на одном узле размещено несколько экземпляров, сбой узла может привести к одновременному отключению нескольких экземпляров, снижая общую надёжность кластера.
      Примечание:
      • Минимальное количество экземпляров — 4.
      • Если количество экземпляров больше 16, введённое значение должно быть кратно 8.
      • При добавлении дополнительных пулов хранения количество экземпляров не должно быть меньше, чем в первом пуле хранения.
      Single Storage VolumeЁмкость одного тома PVC. Каждый сервис хранения управляет одним томом. После ввода ёмкости одного тома платформа автоматически рассчитает ёмкость пула хранения и другую информацию, которую можно просмотреть в Storage Pool Overview.
      Underlying StorageБазовое хранилище, используемое кластером MinIO. Выберите класс хранилища, созданный в текущем кластере. Рекомендуется TopoLVM.
      Storage NodesВыберите узлы хранения, необходимые для кластера MinIO. Рекомендуется использовать от 4 до 16 узлов хранения. Платформа развернёт по одному сервису хранения на каждом выбранном узле.
      Storage Pool OverviewДля конкретных параметров и формул расчёта см. Storage Pool Overview.
    4. В разделе Access Configuration настройте соответствующую информацию согласно следующим инструкциям.

      ПараметрОписание
      External AccessПри включении поддерживается доступ к MinIO из других кластеров; при отключении — доступ только внутри кластера.
      ProtocolПоддерживает HTTP и HTTPS; при выборе HTTPS необходимо ввести Domain и импортировать Public Key и Private Key сертификата домена.
      Примечание:
      • При протоколе HTTP поды внутри кластера могут обращаться к MinIO напрямую по полученному IP или доменному имени без настройки сопоставления IP и домена; узлы внутри кластера могут обращаться к MinIO напрямую по IP, а для доступа по домену требуется ручная настройка сопоставления IP и домена; внешний доступ возможен напрямую по IP.
      • При протоколе HTTPS доступ к MinIO по IP невозможен как внутри, так и снаружи кластера. Для нормального доступа по домену требуется вручную настроить сопоставление между полученным IP и введённым доменом при создании кластера.
      Access Method
      • NodePort: Открывает фиксированный порт на каждом хосте вычислительного узла для внешнего доступа к сервису. При настройке доступа по домену рекомендуется использовать VIP для разрешения доменного имени, чтобы обеспечить высокую доступность.
      • LoadBalancer: Использует балансировщик нагрузки для перенаправления трафика на бэкенд-сервисы. Перед использованием убедитесь, что в текущем кластере развернут плагин MetalLB и в пуле внешних адресов есть доступные IP.
    5. Нажмите внизу справа Create Cluster.

      • Если страница автоматически перейдёт к Cluster Details, значит создание кластера прошло успешно.

      • Если кластер остаётся в процессе создания, можно нажать Cancel. После отмены развернутая информация о кластере будет очищена, и вы сможете вернуться на страницу создания кластера для повторного создания.

    Создание Bucket

    Войдите на управляющий узел кластера и используйте команду для создания bucket.

    1. На странице сведений о кластере перейдите на вкладку Access Method, чтобы посмотреть адрес доступа MinIO, или выполните следующую команду для запроса.

      kubectl get svc -n <tenant ns> minio | grep -w minio | awk '{print $3}'

      Примечание:

      • Замените tenant ns на фактическое пространство имён minio-system.
      • Пример: kubectl get svc -n minio-system minio | grep -w minio | awk '{print $3}'
    2. Получите команду mc.

      wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /bin/mc && chmod a+x /bin/mc
    3. Настройте псевдоним кластера MinIO.

      • IPv4:

        mc --insecure alias set <minio cluster alias> http://<minio endpoint>:<port> <accessKey> <secretKey>
      • IPv6:

        mc --insecure alias set <minio cluster alias> http://[<minio endpoint>]:<port> <accessKey> <secretKey>
      • Доменное имя:

        mc --insecure alias set <minio cluster alias> http://<domain name>:<port> <accessKey> <secretKey>
        mc --insecure alias set <minio cluster alias> https://<domain name>:<port> <accessKey> <secretKey>

      Примечание:

      • Введите IP-адрес, полученный на шаге 1, для minio endpoint.
      • Введите Access Key и Secret Key, созданные при создании кластера, для accessKey и secretKey.
      • Примеры конфигурации:
        • IPv4: mc --insecure alias set myminio http://12.4.121.250:80 07Apples@ 07Apples@
        • IPv6: mc --insecure alias set myminio http://[2004::192:168:143:117]:80 07Apples@ 07Apples@
        • Доменное имя: mc --insecure alias set myminio http://test.minio.alauda:80 07Apples@ 07Apples@ или mc --insecure alias set myminio https://test.minio.alauda:443 07Apples@ 07Apples@
    4. Создайте bucket.

      mc --insecure mb <minio cluster alias>/<bucket name>

    Загрузка/скачивание файлов

    После создания bucket можно использовать командную строку для загрузки файлов в bucket или скачивания существующих файлов из bucket.

    1. Создайте файл для тестовой загрузки. Этот шаг можно пропустить, если загружается существующий файл.

      touch <file name>
    2. Загрузите файлы в bucket.

      mc --insecure cp <file name> <minio cluster alias>/<bucket name>
    3. Просмотрите файлы в bucket, чтобы подтвердить успешную загрузку.

      mc --insecure ls <minio cluster alias>/<bucket name>
    4. Удалите загруженные файлы.

      mc --insecure rm <minio cluster alias>/<bucket name>/<file name>

    Связанная информация

    Таблица соответствия коэффициента избыточности

    Примечание: При добавлении дополнительных пулов хранения коэффициент избыточности рассчитывается на основе количества экземпляров в первом пуле хранения.

    Количество экземпляровКоэффициент избыточности
    4 - 52
    6 - 73
    >= 84

    Обзор пула хранения

    Параметр обзора пула храненияФормула расчёта
    Доступная ёмкостьПри Instance Number ≤ 16, Доступная ёмкость = Ёмкость одного тома × (Количество экземпляров - Коэффициент избыточности).
    При количестве экземпляров > 16, Доступная ёмкость = Ёмкость одного тома × (Количество экземпляров - 4 × (Количество экземпляров + 15) / 16). Результат выражения "4 × (Количество экземпляров + 15) / 16" округляется вниз.
    Общая ёмкостьОбщая ёмкость = Количество экземпляров × Ёмкость одного тома
    Количество отказоустойчивых сервисов храненияПри Instance Number > 2 × Коэффициент избыточности, Количество отказоустойчивых сервисов хранения = Коэффициент избыточности.
    При Instance Number = 2 × Коэффициент избыточности, количество отказоустойчивых сервисов хранения = Коэффициент избыточности - 1