Последние разработки в области хранения данных Kubernetes
Принятие Kubernetes находится на рекордно высоком уровне, поскольку все больше организаций отваживаются окунуться в мир микросервисов и распределенных рабочих нагрузок. У Kubernetes много плюсов, таких как быстрая отработка отказа, масштабируемость, гибкость и высокая доступность. Эти функции заманчивы для организаций, которые используют чрезвычайно дорогие монолитные рабочие нагрузки. Однако, как и во всем, преимущества Kubernetes ограничены. Это становится совершенно очевидным при работе с приложениями или рабочими нагрузками с отслеживанием состояния, в частности с хранилищем данных Kubernetes.
Проблема хранения данных Kubernetes
Kubernetes организует контейнеры, запускает их во время выполнения, предоставляет им необходимые ресурсы для выполнения определенного процесса, а затем уничтожает их, когда они больше не нужны. Поскольку все эти контейнеры независимы друг от друга, данные, хранящиеся в этих контейнерах, уничтожаются, и их невозможно восстановить, когда с контейнером покончено. Для рабочих нагрузок без сохранения состояния это не имеет значения. Однако если вы пытаетесь поместить в контейнер рабочие нагрузки с отслеживанием состояния, это может стать проблемой. Без надлежащего способа поддержания состояния вашей рабочей нагрузки вы не сможете запускать свои рабочие нагрузки, не говоря уже о том, чтобы пользоваться преимуществами, которые может предложить K8s.
Организации могут найти обходные пути для поддержания состояния. Однако это не рекомендуется из-за крутой кривой обучения и огромных усилий, необходимых для разработки правильного обходного пути. Организации могут создать решение, подходящее для их рабочих нагрузок. Тем не менее, обучение новых ресурсов инфраструктуре может стать проблемой, если ваша организация не имеет удивительно высокого уровня сохранения рабочих мест. Еще одна серьезная проблема с такими обходными путями — привязка к поставщику. Ряд инструментов, которые вы используете в своей инфраструктуре, станут полностью взаимозависимыми по мере роста вашей рабочей нагрузки. Это предотвращает портативность, которая является существенным преимуществом K8s. Наконец, вы можете застрять с еще одним монолитом без каких-либо дополнительных преимуществ.
Оркестраторы хранилища
Использование внешнего хранилища для хранения состояния приложения может быть утомительной работой и требовать постоянного мониторинга и большого количества ручных операций. Должен быть способ использовать хранилище так же, как и любой другой ресурс в K8s, чтобы он оставался доступным после установки контейнера. К счастью, для этого есть специальные решения. Эти облачные решения называются оркестраторами хранения. Эти инструменты хранят данные всего кластера в общем пуле. Указанный том может использоваться контейнерами, которые в нем нуждаются, и после того, как они переходят в автономный режим или выходят из строя, данные по-прежнему доступны в общем пуле. Используя эти инструменты, вы можете избежать хлопот, связанных с использованием внешнего хранилища для хранения состояния ваших рабочих нагрузок.
Оркестраторы хранилища, такие как Rook, Portworx и LongHorn, помогают решить проблему хранения Kubernetes и позволяют вам пользоваться преимуществами Kubernetes даже при рабочих нагрузках с отслеживанием состояния. Поскольку эти инструменты не зависят от платформы, вы можете легко перенести свои рабочие нагрузки или разместить их в гибридной инфраструктуре. Благодаря оркестраторам хранения вы можете пользоваться преимуществами K8s, не идя на компромиссы. Эти инструменты стали очень популярными, поскольку большинство организаций сталкиваются с проблемой хранения при переносе тесно связанных монолитных рабочих нагрузок.
Давайте посмотрим, что нового в пространстве хранения данных Kubernetes.
Portworx расширяет свой каталог хранилищ K8s за счет DBaaS и улучшенного PX-Backup
Portworx — ведущее комплексное решение для управления данными для приложений, работающих в Kubernetes. Он защищает ваши данные с помощью надежного гранулярного шифрования контейнеров и делает их доступными на разных платформах. Portworx объединяет оборудование для хранения данных в ваших кластерах в единый кластерный пул. Этот пул является устойчивым и остается открытым, даже если определенные узлы выходят из строя. Portworx также создает независимые резервные копии, согласованные с приложениями, которые можно переносить на различные платформы, что упрощает перенос рабочих нагрузок с помощью резервных копий. С помощью Portworx организации могут использовать гибридную инфраструктуру, не опасаясь привязки к поставщику.
Для рабочих нагрузок, выполняемых в Kubernetes, могут потребоваться различные службы данных, такие как базы данных, очереди, потоковая передача и запросы сообщений, среди прочего. Это может стать сложным, если все это делается вручную разработчиками. Принимая во внимание различные среды и постоянное масштабирование этих ресурсов, у ваших команд DevOps не будет времени для работы над новыми выпусками. Чтобы решить эту проблему, Portworx представила новое решение под названием Data Services. Portworx Data Services помогает запускать готовые к эксплуатации сервисы данных одним щелчком мыши. Вы можете выбирать из широкого спектра услуг передачи данных, не беспокоясь о ручном вмешательстве. Службы данных обеспечивают высокомасштабируемые и отказоустойчивые службы данных с полностью автоматизированными операциями второго дня. Приложения, созданные с помощью Portworx Data Services, поддерживают основные функции Portworx, такие как резервное копирование и восстановление, аварийное восстановление, защита данных, миграция и управление емкостью. Службы данных также предоставляют одно и то же решение DBaaS в облаке и локально, сохраняя независимые от платформы традиции решений для оркестровки хранилищ.
Новые усовершенствования PX-Backup теперь позволяют организациям создавать резервные копии и восстанавливать их где угодно (локально или в облаке). PX-Backup предлагает поддержку политик резервного копирования 3-2-1, что означает, что организации могут хранить три разные копии приложений (рабочая, моментальная и резервная копии) на диске или объектном хранилище. Таким образом, организации могут выгружать резервные копии в дополнительные хранилища по своему выбору, обеспечивая большую гибкость. Пользователи PX-Backup теперь могут защитить свои рабочие нагрузки с помощью доступа на основе ролей и шифрования, предоставляемых PX-Secure.
Rook V1.7 представляет диаграмму Ceph Cluster Helm и зеркалирование файлов.
Rook — это проект с открытым исходным кодом, который размещает CNCF. Он был выпущен в прошлом году и стал одним из самых первых существующих проектов хранилища Kubernetes. Rook использует K8s для запуска хранилища так же, как вы запускаете приложения. В корне Rook находится оператор rook, который настраивает необходимое вам хранилище данных и помогает автоматизировать такие задачи, как развертывание, начальная загрузка, настройка, подготовка, масштабирование, обновление, миграция, аварийное восстановление, мониторинг и управление ресурсами. Rook берет ваше распределенное хранилище и делает его самоуправляемым, самомасштабируемым и самовосстанавливающимся, чтобы он хорошо работал с вашими облачными рабочими нагрузками.
В своей последней версии Rook поставляется с диаграммой Ceph Cluster Helm, которая позволяет пользователям развертывать и настраивать другие ресурсы Ceph, такие как CephCluster CR (Custom Resource), CephBlockPool, CephFileSystem, CephObjectStore и Toolbox. Пользователи по-прежнему могут использовать примеры манифестов для создания этих ресурсов, если они не хотят использовать диаграмму Helm.
Rook также поставляется с зеркалированием файлов. В отличие от блочного зеркалирования, зеркалирование файлов полностью основано на моментальных снимках. Вы можете запланировать моментальные снимки зеркального отображения файлов и настроить хранение. Эта функция не очень стабильна. Однако Rook обещает, что вы не потеряете критически важные данные. Еще одна новая функция в этом новом выпуске — предотвращение случайного удаления ресурсов. Контейнеры являются временными, и как только они выходят из строя или прекращают работу, вы можете потерять данные и ресурсы, которые они используют. Rook теперь будет предотвращать удаление CephCluster до тех пор, пока к нему не будут присоединены ресурсы. Если какие-либо ресурсы все еще доступны в CephCluster, удаление не произойдет до тех пор, пока эти ресурсы не будут удалены из кластера.
Решения для хранения данных Kubernetes: работа в процессе
Организации хотят использовать Kubernetes, чтобы воспользоваться преимуществами, которые он может предложить. Однако увязнуть в логистике этой миграции может быть непросто. В таких случаях решения для хранения данных Kubernetes — лучший вариант. Существует множество других инструментов, решающих проблему хранения K8s. И все эти решения быстро развиваются, чтобы соответствовать темпам внедрения Kubernetes. Оркестраторы хранения могут многое предложить, но они не все одинаковы. В настоящее время объем хранилища Kubernetes довольно нестабилен. Организации должны быть в курсе новинок рынка и того, какой инструмент делает то, что лучше всего.