Введение
MinIO — это объектное хранилище данных с открытым исходным кодом, совместимое с Amazon S3 API.
Оно позволяет хранить неструктурированные данные, такие как фото, видео, логи, резервные копии и т. д.
Основные возможности MinIO:
- масштабируемое хранение объектов;
- S3-совместимый API;
- высокая доступность;
- шифрование данных;
- многопользовательский доступ;
- версионирование объектов;
- репликация данных;
- кэширование на уровне хоста;
- расширяемость;
- веб-интерфейс.
Как развернуть в кластере
Данный манифест подходит для развертывания на двух нодах, на которых поды MinIO будут полностью реплицированы и в случае неполадок на одной ноде, вторая продолжит работу.
Для Вашего удобства я опубликовал манифест в GitHub Gist.
Данный манифест необходимо скопировать и создать где-то у себя на одной из нод такой же файл minio-kubernetes.yml. Название может быть любым.
После создания манифеста и настройки его под себя (все комментарии я дал прямо в коде) Вам необходимо создать secret для логина и пароля MinIO, а также подготовить точку монтирования для Persistent Volume.
В моем случае secret называется minio-secret и имеет два ключа MINIO_ROOT_USER и MINIO_ROOT_PASSWORD, которые содержат в себе соответственно логин и пароля от root учетной записи.
Точкой монитрования в манифесте мною выбран путь /mnt/minio, к данной папке у меня примонитрован отдельный диск. Вы же можете выбрать любой удобный для Вас путь хранения данных.
После создания secret и точки монтирования можете запускать манифест следующей командой:
sudo kubectl apply -f minio-kubernetes.yml
Если манифест запустился без ошибок, значит Вы подготовили все правильно, а также правильно отредактировали все строки в манифесте, которые я оставлял с комментариями.
После запуска можете переходить на https://minio.example.com (указывайте адрес, который Вы указывали в настройках ингресса) и начинать пользоваться данным S3 хранилищем.
Приятного использования!