Рубрики
Uncategorized

Развертывание высоко масштабируемого облачного хранилища с Rook — Часть 2 (Minio Storage)

В прошлый раз мы говорили о развертывании кластера CEPH с блоком хранилища с использованием Rook. Сегодня мы идем … Tagged с Docker, DevOps.

В прошлый раз мы говорили о развертывании кластера CEPH с блоком хранилища с использованием Rook. Сегодня мы собираемся погрузиться в обсуждение другого типа метода хранения, который предоставляет Rook, и каковы его варианты использования и преимущества.

Minio — это высокопроизводительный магазин объектов, который совместим с Amazon S3 и является родным для технологий и архитектур, которые определяют облако. Эти технологии включают контейнеризация, оркестровку с Kubernetes, микросервисы и многоцелевое. Ни один другой магазин объектов не является более удобным для Kubernetes.

Minio составляет 100% с открытым исходным кодом по лицензии Apache V2. Это означает, что клиенты Minio свободны от блокировки, бесплатно осматривать, бесплатно для инноваций, бесплатно модифицировать и бесплатно для перераспределения.

Одним из множества вариантов решений для хранения облачного хранения является хранение объекта с Minio. Давайте рассмотрим демонстрацию того, как мы будем развернуть Minio с Look в кластер K8S.

Minio-это высокопроизводительный сервер хранения объектов, предназначенный для крупномасштабной инфраструктуры частной облака. Rook предоставляет оператору для развертывания и управления Minio Clusters.

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

Кластер Kubernetes необходим для запуска оператора Minio Rook. Чтобы убедиться, что у вас есть кластер Kubernetes, который готов к Rook , вы можете Следуйте этим инструкциям Анкет

Развернуть оператор Minio

Сначала разверните оператор Rook Minio, используя следующие команды:

git clone --single-branch --branch release-1.2 https://github.com/rook/rook.git
cd cluster/examples/kubernetes/minio
kubectl create -f operator.yaml

Вы можете проверить, работает ли оператор с:

kubectl -n rook-minio-system get pod

Создать и инициализировать распределенный магазин объектов Minio

Теперь, когда оператор работает, мы можем создать экземпляр распределенного хранилища объектов Minio, создав экземпляр ObjectStore.minio.rook.io ресурс. Некоторые из значений этого ресурса настраиваются, поэтому не стесняйтесь просматривать Object Store.yaml и настроить настройки по своему вкусу.

Это настоятельно рекомендуется обновить значения AccessKey и Секретный ключ в Object Store.yaml к безопасной паре ключей, как описано в Minio Client QuickStart Guide Анкет

Когда вы будете готовы создать магазин Minio Object, просто запустите:

kubectl create -f object-store.yaml

Мы можем убедиться, что был создан объект Kubernetes, который представляет наш новый магазин Minio Object с командой ниже. Это важно, потому что это показывает, что Рук успешно расширил Kubernetes, чтобы сделать Minio Object, хранящий первоклассный гражданин в облачной среде Kubernetes.

kubectl -n rook-minio get objectstores.minio.rook.io

Чтобы проверить, работают ли все желаемые копии, вы должны увидеть такое же количество записей из следующей команды, что и количество реплик, которое было указано в Object Store.yaml :

kubectl -n rook-minio get pod -l app=minio,objectstore=my-store

Доступ к магазину объектов

Minio поставляется со встроенным веб -объектным браузером. В примере созданный нами хранилище объекта может быть обнаружен внешним по отношению к кластеру на IP -IP кластера Kubernetes через «Nodeport». Мы видим, какой порт был назначен службой через:

kubectl -n rook-minio get service minio-my-store -o jsonpath='{.spec.ports[0].nodePort}'

Если вы используете Minikube , вы можете получить свой кластерный IP через minikube ip Анкет Полный адрес службы Minio при использовании Minikube может быть получен следующим образом:

echo http://$(minikube ip):$(kubectl -n rook-minio get service minio-my-store -o jsonpath='{.spec.ports[0].nodePort}')

Скопируйте полное адрес и порт в интернет-браузер, и вы попадете на страницу входа в систему веб-консоли Minio, как показано на скриншоте ниже:

Убирать

Чтобы очистить все ресурсы, связанные с этим прохождением, вы можете запустить команды ниже.

Примечание : Это разрушит ваш хранилище объектов Minio и удалит все связанные с ними данные.

kubectl delete -f object-store.yaml
kubectl delete -f operator.yaml

Исправление проблем

Если кластер Minio не появится, первым шагом будет изучение журналов оператора:

kubectl -n rook-minio-system logs -l app=rook-minio-operator

Если в журналах операторов все выглядит нормально, вы также можете посмотреть в журналах для одного из экземпляров Minio. Предполагая, что ваш Object Store.yaml Файл назвал его «My Store», каждый узел в кластере может быть проверен через:

kubectl -n rook-minio logs my-store-0

Не стесняйтесь изменить вышеперечисленное, чтобы осмотреть другие экземпляры.

В следующей части этой серии мы собираемся выполнить шаги и преимущества развертывания решения для хранения TackroachDB с Rook. Тогда увидимся!

Оригинал: «https://dev.to/appfleet/deploying-highly-scalable-cloud-storage-with-rook-part-2-minio-storage-1m7f»