В прошлый раз мы говорили о развертывании кластера 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»