Варианты хранения для кластера Kubernetes

В этой статье сравниваются возможности хранилища Amazon Elastic Kubernetes Service (Amazon EKS) и Служба Azure Kubernetes (AKS), а также описаны варианты хранения данных рабочей нагрузки в AKS.

Примечание

Эта статья является частью серии статей , которые помогают специалистам, знакомым с Amazon EKS , понять AKS.

Варианты хранения Amazon EKS

В Amazon EKS после Kubernetes версии 1.11 в кластере по умолчанию используется класс StorageClass , вызываемый gp2 для утверждений постоянного тома. Администраторы могут добавлять драйверы для определения дополнительных классов хранения, например:

  • Драйвер Amazon EBS CSI в качестве надстройки Amazon EKS
  • Самостоятельно управляемая надстройка Amazon EBS CSI
  • Драйвер Amazon EFS CSI
  • Драйвер CSI Amazon FSx для Lustre
  • Драйвер CSI Amazon FSx для NetApp ONTAP

Добавляя драйверы и классы хранения, можно использовать такие службы хранилища, как:

  • Amazon Elastic Block Store (Amazon EBS), решение для хранения блочного уровня, используемое с экземплярами Amazon Elastic Compute Cloud (EC2) для хранения постоянных данных. Эта служба аналогична службе хранилища дисков Azure, которая имеет несколько номеров SKU, таких как SSD (цен. категория "Стандартный"), SSD (цен. категория "Премиум") или "Ультра" в зависимости от необходимой производительности.

  • Amazon Elastic File System (Amazon EFS) — предоставляет доступ к NFS к внешним файловыми системам, которые могут совместно использоваться между экземплярами. Эквивалентное решение Azure — Файлы Azure и Файлы Azure premium с доступом к серверу SMB 3.0 и NFS.

  • Lustre — файловая система с открытым кодом, которая обычно используется для высокопроизводительных вычислений (HPC). В Azure можно использовать диски (цен. категория "Ультра") или Azure HPC Cache для рабочих нагрузок, где важна скорость, например машинного обучения и HPC.

  • NetApp ONTAP, полностью управляемое общее хранилище ONTAP в Amazon Web Services (AWS). Azure NetApp Files — это аналогичная служба хранилища файлов Azure, созданная на основе технологии NetApp.

Варианты хранилища AKS

По умолчанию каждый кластер AKS включает следующие предварительно созданные классы хранения :

  • В классе managed-csiхранения по умолчанию используется дисковое хранилище (цен. категория "Стандартный"). SSD (цен. категория "Стандартный") — это экономичный вариант хранения, оптимизированный для рабочих нагрузок, которым требуется согласованная производительность при более низком уровне операций ввода-вывода в секунду (IOPS).
  • Класс использует управляемые managed-csi-premium диски SSD уровня "Хранилище дисков" класса "Премиум".
  • Класс azurefile-csi использует Файлы Azure для предоставления параллельного общего доступа к одному и тому хранилища с помощью SMB или NFS.
  • Класс azurefile-csi-premium использует Файлы Azure Premium для общих папок с рабочими нагрузками с большим количеством операций ввода-вывода в секунду. Файлы Azure Premium обеспечивает низкую задержку и высокую пропускную способность при поддержке ssd-хранилища.

Эти параметры можно расширить, добавив другие классы хранения и интегрируя с другими доступными решениями для хранения, такими как:

  • Хранилище дисков категории "Ультра"
  • Azure NetApp Files
  • HPC Cache
  • Сервер NFS
  • Сторонние решения для хранения данных

Хранилище дисков Azure

По умолчанию кластер AKS поставляется с предварительно созданными managed-csi классами и managed-csi-premium классами хранения, которые используют дисковое хранилище. Как и в Случае с Amazon EBS, эти классы создают управляемый диск или блочное устройство, подключенное к узлу для доступа к pod.

Классы хранилища дисков позволяют подготавливать как статические , так и динамические тома. Политика восстановления гарантирует удаление диска с постоянным томом. Вы можете развернуть диск, изменив утверждение постоянного тома.

Эти классы хранения используют управляемые диски Azure с локально избыточным хранилищем (LRS). LRS означает, что данные имеют три синхронные копии в одном физическом расположении в основном регионе Azure. LRS является наименее дорогостоящим вариантом репликации, но не обеспечивает защиту от сбоя центра обработки данных. Чтобы снизить этот риск, регулярно создавайте резервные копии или моментальные снимки данных дискового хранилища с помощью таких решений, как Velero или Azure Backup, которые могут использовать встроенные технологии snapshot.

Оба класса хранения поддерживаются управляемыми дисками и используют твердотельные накопители (SSD). Важно понимать различия между дисками уровня "Стандартный" и "Премиум".

  • Цены на диски ценовой категории "Стандартный" зависят от размера и транзакций хранилища.
  • Диски уровня "Премиум" оплачиваются только по размеру, что может сделать их дешевле для рабочих нагрузок, требующих большого количества транзакций.
  • Диски SSD ценовой категории "Премиум" обеспечивают более высокую максимальную пропускную способность и операции ввода-вывода в секунду, как показано в этом сравнении.
  • Хранилище класса Premium рекомендуется для большинства рабочих нагрузок производства и разработки.

Если вы используете управляемые диски Azure в качестве основного класса хранения, рассмотрите номер SKU виртуальной машины, выбранный для кластера Kubernetes. Виртуальные машины Azure ограничивают количество дисков, которые можно подключить к ним, и это ограничение зависит от размера виртуальной машины. Кроме того, так как диски Azure подключены как ReadWriteOnce, они доступны только для одного модуля pod.

Хранилище дисков категории "Ультра"

Хранилище дисков (цен. категория "Ультра") — это управляемый уровень дисков Azure, который обеспечивает высокую пропускную способность, высокий уровень операций ввода-вывода в секунду и согласованное хранилище дисков с низкой задержкой для виртуальных машин Azure. Дисковое хранилище ценовой категории "Ультра" предназначено для рабочих нагрузок с большим объемом данных и транзакций. Как и другие номера SKU дискового хранилища и Amazon EBS, хранилище дисков ценовой категории "Ультра" подключает по одному модулу pod за раз и не предоставляет параллельный доступ.

Используйте флаг --enable-ultra-ssd , чтобы включить хранилище дисков (цен. категория "Ультра") в кластере AKS.

Если выбрано хранилище дисков ценовой категории "Ультра", помните о его ограничениях и обязательно выберите совместимый размер виртуальной машины. Дисковое хранилище ценовой категории "Ультра" доступно с локально избыточной репликацией хранилища (LRS).

Файлы Azure

Хранилище дисков не может предоставлять параллельный доступ к тому, но вы можете использовать Файлы Azure для подключения по протоколу SMB, а затем подключить общий том, поддерживаемый службой хранилища Azure. Этот процесс предоставляет сетевое хранилище, похожее на Amazon EFS. Как и в случае с хранилищем дисков, существует два варианта.

  • Файлы Azure хранилище уровня "Стандартный" поддерживается обычными жесткими дисками (HDD).
  • хранилище Файлы Azure уровня "Премиум" поддерживает общую папку с высокопроизводительными ssd-дисками. Минимальный размер общей папки для premium составляет 100 ГБ.

Файлы Azure имеет следующие параметры репликации учетной записи хранения для защиты данных в случае сбоя:

Чтобы оптимизировать затраты на Файлы Azure, приобретите резервирования емкости Файлы Azure.

Azure NetApp Files

Как и AWS NetApp ONTAP, Azure NetApp Files — это высокопроизводительная служба хранилища файлов корпоративного класса. Azure NetApp Files полностью управляется в Azure с помощью решений NetApp. Как и Файлы Azure, Azure NetApp Files позволяет нескольким модулям pod подключать том. Вы можете использовать Astra Trident, оркестратор динамического хранилища с открытым кодом для Kubernetes, чтобы настроить кластер AKS для использования Azure NetApp Files.

Помните об ограничениях ресурсов для Azure NetApp Files. Минимальный размер пула емкости для Azure NetApp Files составляет 4 ТиБ. Azure NetApp Files расходы по подготовленному размеру, а не используемой емкости.

Azure HPC Cache

Azure HPC Cache ускоряет доступ к данным для задач HPC со всеми масштабируемостью облачных решений. Если вы выбрали это решение для хранения данных, разверните кластер AKS в регионе, поддерживающем кэш Azure HPC.

Сервер NFS

Лучшим вариантом общего доступа NFS является использование Файлы Azure или Azure NetApp Files. Вы также можете создать сервер NFS на виртуальной машине Azure , которая экспортирует тома.

Имейте в виду, что этот параметр поддерживает только статическую подготовку. Общие папки NFS необходимо подготовить вручную на сервере, и это невозможно сделать из AKS автоматически.

Это решение основано на инфраструктуре как услуге (IaaS), а не на платформе как услуге (PaaS). Вы отвечаете за управление сервером NFS, включая обновления ОС, высокий уровень доступности, резервное копирование, аварийное восстановление и масштабируемость.

Сторонние решения

Как и Amazon EKS, AKS является реализацией Kubernetes, и вы можете интегрировать сторонние решения хранилища Kubernetes. Ниже приведены некоторые примеры сторонних решений хранилища для Kubernetes.

  • Rook превращает распределенные системы хранения в самоуправляемые службы хранения, автоматизуя задачи администратора хранилища. Rook предоставляет свои услуги через оператора Kubernetes для каждого поставщика хранилища.
  • GlusterFS — это бесплатная масштабируемая сетевая файловая система с открытым кодом, которая использует стандартное оборудование для создания больших распределенных решений для хранения данных и задач с большим объемом данных и высокой пропускной способностью.
  • Ceph предоставляет надежную и масштабируемую унифицированную службу хранилища с интерфейсами объектов, блоков и файлов из одного кластера, созданного на основе стандартных аппаратных компонентов.
  • Многооблачное хранилище объектов MinIO позволяет предприятиям создавать инфраструктуру данных, совместимую с AWS S3, в любом облаке, обеспечивая согласованный и переносимый интерфейс для ваших данных и приложений.
  • Portworx — это комплексное решение для хранения и управления данными для проектов Kubernetes и инициатив на основе контейнеров. Portworx предлагает детализированное хранилище для контейнеров, аварийное восстановление, безопасность данных и многооблачную миграцию.
  • Quobyte предоставляет высокопроизводительное хранилище файлов и объектов, которые можно развернуть на любом сервере или в облаке для масштабирования производительности, управления большими объемами данных и упрощения администрирования.
  • Ondat обеспечивает согласованный уровень хранения на любой платформе. Вы можете запускать базу данных или любую постоянную рабочую нагрузку в среде Kubernetes без необходимости управлять уровнем хранилища.

Рекомендации по хранилищу Kubernetes

При выборе решения для хранения amazon EKS или AKS учитывайте следующие факторы.

Режимы доступа к классу хранилища

В Kubernetes версии 1.21 и более поздних версиях классы хранения AKS и Amazon EKS используют только драйверы CSI и по умолчанию.

Различные службы поддерживают классы хранения с разными режимами доступа.

Служба ReadWriteOnce ReadOnlyMany ReadWriteMany
Диски Azure X
Файлы Azure X X X
Azure NetApp Files X X X
Сервер NFS X X X
Azure HPC Cache X X X

Динамическая и статическая подготовка

Динамически подготавливайте тома , чтобы сократить затраты на управление статическим созданием постоянных томов. Задайте правильную политику восстановления, чтобы избежать неиспользуемых дисков при удалении модулей pod.

Backup

Выберите средство для резервного копирования постоянных данных. Средство должно соответствовать типу хранилища, например моментальным снимкам, Azure Backup, Velero или Kasten.

Оптимизация затрат

Чтобы оптимизировать затраты на службу хранилища Azure, используйте резервирования Azure. Убедитесь, что проверка, какие службы поддерживают резервирования Azure. См. также статью Управление затратами для кластера Kubernetes.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально она была написана следующими участниками.

Основные авторы:

Другие участники:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия