Откройте для себя 5 лучших проектов хранения данных с открытым исходным кодом для Kubernetes

Когда дело доходит до облачных проектов с открытым исходным кодом, Kubernetes получает много внимания в прессе. Почему бы и нет? Эта платформа оркестрации контейнеров произвела революцию в разработке , развертывании и масштабировании приложений . Хотя возможность быстрого масштабирования сервисов вверх и вниз является одним из главных преимуществ Kubernetes, управление устойчивым хранилищем в этой динамичной среде может оказаться довольно сложной задачей.
Как часто вы переносили приложение между облачными платформами, но не могли перенести данные вместе с его контейнерами? Вы когда-нибудь удаляли модули или контейнеры только для того, чтобы обнаружить, что данные в них также были удалены ? Если да, то вы знаете проблемы управления хранилищем для Kubernetes. В этой статье я познакомлю вас с пятью ведущими поставщиками облачных хранилищ с открытым исходным кодом.
Во-первых, давайте познакомимся с многочисленными преимуществами решений для хранения данных с открытым исходным кодом.
Зачем вам нужно хранилище с открытым исходным кодом для Kubernetes?
В отличие от традиционных проприетарных ИТ-инструментов, ориентированных на поставщиков, облачная экосистема полностью ориентирована на проекты с открытым исходным кодом, управляемые сообществом . Это касается и хранения. Мощные инструменты с открытым исходным кодом делают управление постоянными данными с помощью Kubernetes возможным и даже простым!
Когда вы удаляете контейнер или модуль, вы теряете вместе с ним его данные. Это большая проблема, особенно потому, что приложениям с отслеживанием состояния нужны постоянные данные . Проекты хранения с открытым исходным кодом хорошо интегрированы с Kubernetes, и все сообщество активно их развивает. Они специально созданы для контейнерных приложений и могут использоваться независимо от того, где вы используете Kubernetes — локально или на любой облачной платформе.
У хранения есть свои проблемы
Хранилище Kubernetes полностью отличается от традиционного управления хранилищем. Это связано с тем, что он включает новую терминологию и концепции, а также новые методы управления хранилищем. Упомянутая выше концепция сохранения данных — это то, что нам нужно понять в первую очередь. Кроме того, у нас также есть такие компоненты, как постоянные тома (PV) и постоянные требования к объему (PVC) . Это куски хранилища в кластере Kubernetes .
Теперь давайте рассмотрим 5 лучших решений для хранения данных с открытым исходным кодом, которые вы можете использовать в рамках своего бизнеса.
5 проектов Kubernetes для хранения данных с открытым исходным кодом
Следующей задачей после понимания номенклатуры является создание целостной платформы управления хранением посредством интеграции инструментов с открытым исходным кодом. Именно тогда вам нужно знать о лучших проектах хранения Kubernetes с открытым исходным кодом. Давайте теперь погрузимся в них, чтобы увидеть, какие из них соответствуют вашим потребностям.
1. ОпенЭБС
OpenEBS — это ведущий и простой в использовании проект с открытым исходным кодом, который предлагает решения для хранения данных для Kubernetes. Он использует категорию облачных решений для хранения данных, которая называется Container Attached Storage (CAS). Он также создает тома и управляет ими в среде Kubernetes. Это означает, что у каждого тома хранилища есть определенный модуль и набор модулей реплик. Они управляются и развертываются так же, как и любой другой контейнер в Kubernetes.
Сам проект развернут в виде набора контейнеров на Kubernetes. Он полностью встроен в пользовательское пространство, что делает его легко переносимым для работы на любой ОС/платформе. OpenEBS реплицирует данные между несколькими узлами. Это означает, что любой сбой узла повлияет только на реплики тома на этом конкретном узле. Проект также создает уровень абстракции между приложением и базовым поставщиком облачных услуг. Это упрощает процесс переноса данных между разными поставщиками. Это также устраняет проблемы с привязкой к поставщику.
В сентябре прошлого года OpenEBS выпустила свою последнюю версию OpenEBS 3.0. Он включает в себя несколько новых функций и улучшений. Также были внесены улучшения в существующие разновидности LocalPV и новые типы LocalPV. Эта новая версия также включает панель мониторинга OpenEBS (смесь Grafana и Prometheus) и динамическое средство подготовки NFS.
Node Disk Manager также претерпел некоторые изменения. В нем было несколько исправлений, таких как обнаружение изменений файловой системы, добавление расширяемой службы API, добавление тегов резервирования на устройства и многое другое. Более того, эта последняя версия OpenEBS поддерживает установку в изолированных средах. Он также добавляет расширенную документацию и руководства по устранению неполадок для каждого ядра, расположенного в его репозиториях.
2. Ладья

Другое очень популярное решение для хранения , Rook, является проектом, управляемым сообществом. Он поддерживает довольно широкий спектр решений для хранения данных для интеграции со средой Kubernetes. Он превращает тома хранения в самомасштабируемые и самоуправляемые системы хранения, которые могут самовосстанавливаться. Rook может организовать множество решений для хранения данных. Это позволяет пользователям выбирать из нескольких различных поставщиков хранилищ в зависимости от их рабочего процесса и приложения. Таким образом, он может эффективно распределять и реплицировать данные, чтобы свести к минимуму потери .
Rook поддерживает сторонние инструменты мониторинга. Он также обеспечивает безопасность кластера, масштабирование и управление ресурсами в одном месте. Благодаря управлению ресурсами , автоматическому развертыванию и масштабированию Rook упрощает для кластера/администратора контроль за средами хранения.
В последней версии карты секретов и конфигурации Rook теперь имеют финализатор. Это блокирует случайное удаление и дает администраторам время для резервного копирования и восстановления этих ресурсов. Это полезная функция, поскольку карта секретов и конфигурации — один из важнейших ресурсов Rook . Команда представила новые инструменты для настройки зеркального отображения приложений и выполнения отказоустойчивости и восстановления после отказа для приложений. В Rook также есть новая экспериментальная функция, поддерживающая уведомления ведра . Наконец, Snyk собирается включить сканирование безопасности , чтобы уменьшить поверхность атаки. Это отличное дополнение, позволяющее сделать хранение данных с помощью Rook более безопасным.
3. ГластерФС
Это масштабируемая программно-определяемая распределенная система хранения. GlusterFS может создать универсальную среду с доступом к протоколам передачи файлов (FTP) и доступным хранилищем для быстрого масштабирования без точек сбоя. Это позволяет вам хранить тонны данных, не беспокоясь о безопасности и доступности ваших кластеров Kubernetes. GlusterFS также делит пользователей и группы на логические тома в общем хранилище. Это позволяет ему обрабатывать большое количество пользователей. Это также устраняет зависимость пользователя от традиционных массивов хранения.
GlusterFS предоставляет интерфейс управления томами RESTful Hekiti , помогающий автоматизировать выделение томов из Kubernetes. Это избавит вас от затрат на ручную настройку томов Gluster и сопоставление их с Kubernetes. Hekiti может поддерживать любое количество кластеров GlusterFS. Это также позволяет администраторам K8 реализовывать сетевое хранилище, не привязываясь к одному кластеру GlusterFS. GlusterFS использует блочное хранилище для хранения большого количества информации в битах на открытом пространстве на серверах хранения.
В последнем выпуске версии было много новых функций, исправлений стабильности и улучшений кода. В выпуске улучшено время запуска за счет случайного выбора порта для кирпичей, улучшено время восстановления за счет большего размера окна и улучшена производительность с использованием readdir в fix-layout.

4. Цеф
Ceph — это программно-определяемое хранилище с открытым исходным кодом , которое предлагает штабельное, блочное и объектное хранилище. Он предоставляет интерфейсы для нескольких типов хранилищ в одном кластере. Он имеет масштабируемую инфраструктуру. Это делает его полностью распределенным без какой-либо точки отказа. Это решение также предлагает аварийное восстановление и избыточность данных за счет кодирования стирания, моментальных снимков, клонирования хранилища и т. д. Уровень надежных автоматических распределенных хранилищ объектов (RADOS) , который находится в ядре кластеров хранения Ceph, гарантирует, что хранимые данные всегда непротиворечивы. Он выполняет репликацию данных, восстановление и обнаружение сбоев. Ceph также может работать где угодно без какой-либо привязки к поставщику и является полностью самовосстанавливающимся и самоуправляемым . Он также отказоустойчив и хранит данные в виде объектов в логических пулах хранения.
В последнем выпуске версии Pacific исправлена критическая ошибка в обновлении формата OMAP. Обновление также переработало управление NFS , чтобы обеспечить единообразное управление экспортом NFS в различных компонентах Ceph.
5. Лонгхорн
LongHorn — это облегченная платформа распределенного блочного хранилища с открытым исходным кодом для Kubernetes. Он разделяет ваше блочное хранилище на тома LongHorn. Таким образом, вы можете использовать тома Kubernetes с облачным провайдером или без него. Он реализует распределенное блочное хранилище с использованием микросервисов и контейнеров.
LongHorn также может реплицировать блочное хранилище на несколько узлов и центров обработки данных для повышения доступности. Он поддерживает автоматические обновления без прерывания работы. Это означает, что вы можете обновить весь программный стек LongHorn, не нарушая работающие тома . LongHorn позволяет планировать периодическое резервное копирование на внешние/вторичные ресурсы, такие как NFS или AWS S3. Вы также можете восстановить любые данные из основного кластера Kubernetes из томов аварийного восстановления между кластерами во втором кластере Kubernetes.

В последней версии LongHorn добавлена поддержка шифрования резервных копий и томов , поддержка клонирования томов, правила резервного копирования на основе политик и автоматическая перебалансировка реплик. Этому предшествует высокодоступное хранилище RWX , расширенный API и дополнительная поддержка сети хранения.
Последние мысли
Если вы используете Kubernetes для управления инфраструктурой и приложениями облачным способом, вам также нужен облачный подход к хранилищу. У каждого из этих инструментов есть свои взгляды на то, как следует обращаться с хранилищем Kubernetes. Их внедрение сделает ваши системы Kubernetes более портативными и надежными. Это также даст вам больше контроля над тем, как используются ваши данные.
Как и в любом процессе выбора , вам необходимо учитывать тысячи различных факторов, прежде чем решить, какой инструмент хранения выбрать. Вам необходимо определить свои требования и выбрать инструмент, отвечающий большинству из них. Также важно отметить, какой инструмент лучше всего интегрируется с вашим приложением.
Возможно, вам придется практически протестировать скорость чтения-записи каждого решения на тестовой системе. После этого можно было выкатить победителя. Это будет зависеть от конфигурации оборудования и изобретательности разработчиков программного обеспечения. В начале мы упомянули, что возможность быстрого масштабирования является ключевым требованием к решению для хранения данных Kubernetes. Ваш долгосрочный успех зависит от той основы, которую вы делаете здесь: попробуйте различные решения с открытым исходным кодом!
Все вышеперечисленные решения могут легко обеспечить окончательное хранилище для ваших данных. Единственная разница заключается в том, как они обрабатывают ваши данные, поэтому вам следует выбирать соответственно. Это может быть очень личным и специфичным для варианта использования. Размышляя о решении, убедитесь, что вы выбрали систему хранения, которая соответствует вашим требованиям и интегрируется с вашим стеком. Тем не менее, также важно выбрать вариант с активной и отзывчивой системой поддержки.
Часто задаваемые вопросы
Каковы лучшие проекты хранения для Kubernetes?
Лучшие проекты Kubernetes с открытым исходным кодом — это OpenEBS, Rook, GlusterFS, Ceph и Longhorn. В этой статье мы определили, что они собой представляют и как они работают. Взгляните на каждый из них, чтобы увидеть, какой из них лучше всего подходит для вашей системы.
Какие ключевые термины связаны с хранилищем данных Kubernetes?
Ключевые термины связаны, если данные существуют при удалении модуля или контейнера. Постоянство данных , постоянные тома (PV) и постоянные требования к объему (PVC) представляют критический интерес для разработчиков и разработчиков решений. PV позволяют повторно использовать данные, а PVC сохраняют ссылки на данные.
Что такое постоянство данных?
Контейнеры и модули в Kubernetes имеют короткую продолжительность жизни: они ориентированы на проекты. Когда они удаляются или выводятся из эксплуатации, связанные с ними данные также удаляются. Чтобы использовать данные за пределами жизненного цикла контейнера или модуля, вам нужно где-то хранить данные, чтобы сделать их постоянными. Сохранение данных означает, что вы сохраняете данные после удаления их контейнера или модуля. Это полезно для повторного использования проектов и создания шаблонов на основе проектов.
На что следует обратить внимание при выборе решения для хранения данных Kubernetes?
Он должен легко справляться с сохранением данных и обеспечивать переносимость данных в рамках одной облачной платформы или между разными облачными платформами. Самое главное, он должен соответствовать вашим потребностям и требованиям Kubernetes.
Каковы особенности отличного решения для хранения данных Kubernetes?
Ключевым требованием является быстрое масштабирование хранилища данных до больших объемов. Решение для хранения данных Kubernetes также должно поддерживать репликацию томов хранилища. Он также должен иметь возможность резервного копирования и восстановления этих томов во время сбоев. Наконец, он должен надлежащим образом защищать данные.
Ресурсы:
Тенденции и разработки Kubernetes
Изучите последние разработки и тенденции в области хранения данных Kubernetes.
Стартапы Kubernetes Storage
Узнайте о лучших стартапах по хранению данных Kubernetes .
Инструменты безопасности данных Kubernetes
Прочитайте этот пост о лучших инструментах безопасности Kubernetes .
Управляемые платформы Kubernetes
Узнайте об управляемых платформах Kubernetes здесь .
Инструменты снижения рисков Kubernetes
Снизьте риски при внедрении Kubernetes за счет надежного управления безопасностью и политиками; вы можете узнать об этом здесь .