Поделиться через


Что такое хранилище контейнеров Azure?

Хранилище модулей Azure — это облачная служба управления хранилищем, развертывания и оркестрации, разработанная для модулей. Он интегрируется с Kubernetes, чтобы динамически подготавливать постоянные тома для приложений с отслеживанием состояния в кластерах Kubernetes.

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

Внимание

В этой статье рассматриваются функции и возможности, доступные в службе хранилища контейнеров Azure (версия 2.x.x), которая поддерживает локальный диск NVMe и Elastic SAN в качестве резервных типов хранилища. Сведения о более ранних версиях см. в документации по хранилищу контейнеров Azure (версия 1.x.x).

Почему служба хранилища контейнеров Azure полезна

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

Локальные диски NVMe обеспечивают максимально высокую производительность хранилища в Azure. Они идеально подходят для рабочих нагрузок с учетом задержки, таких как PostgreSQL и платформы машинного обучения с интенсивным вычислением, такие как Ray и Kubeflow.

Поддержка эластичной сети SAN в хранилище контейнеров Azure позволяет использовать устойчивое, подключенное к сети хранилище блоков, которое масштабируется с приложением. При выделении томов из volume group Elastic SAN вы получаете предсказуемую пропускную способность и встроенные варианты резервирования, такие как локально избыточное хранилище (LRS) и зонально избыточное хранилище (ZRS). Эта возможность делает хранилище контейнеров Azure надежным выбором для баз данных, подсистем аналитики и любой рабочей нагрузки, требующей согласованной производительности.

Вы можете создавать тома хранилища и управлять ими с помощью стандартных средств Kubernetes. Вам не нужно переключаться между порталами или устанавливать драйверы интерфейса хранилища контейнеров (CSI) самостоятельно.

Хранилище контейнеров Azure работает со службой Azure Kubernetes (AKS) и автономными кластерами Kubernetes. Так как он использует компоненты с открытым исходным кодом, он поддерживает развертывания в Azure и других облаках.

Ключевые преимущества

  • Простое масштабирование модулей pod с отслеживанием состояния: Хранилище контейнеров Azure подключает постоянные тома с помощью NVMe over Fabrics (NVMe-oF) или iSCSI (интернет-небольшой компьютерный системный интерфейс). Это ускоряет операции подключения и отсоединения и поддерживает быстрое восстановление подов. При использовании с Elastic SAN Azure Container Storage может подготавливать и присоединять тысячи постоянных томов в каждом кластере. Это позволяет избежать узких мест, таких как ограничения на вложение дисков Azure Resource Manager (например, 64 диска на виртуальную машину).
  • Оптимизированная производительность для рабочих нагрузок с состоянием: Хранилище контейнеров Azure обеспечивает высокую скорость чтения и скорость записи, близкую к скорости записи на локальный диск, с использованием NVMe-oF через протокол TCP. Этот подход обеспечивает экономичную производительность для рабочих нагрузок уровня 1, рассчитанных на интенсивный ввод-вывод, общие задачи, чувствительных к пропускной способности, а также для задач разработки и тестирования.
  • Экономичность с помощью консолидации хранилища: Хранилище контейнеров Azure снижает затраты на хранение и затраты на управление путем консолидации множества небольших томов в рамках одной сети SAN. Гибкое многоуровневое предоставление ресурсов SAN также помогает сократить избыточное выделение ресурсов и снизить общую стоимость владения.
  • Нативное управление томами Kubernetes: Создание объектов StorageClass и постоянных томов, а также управление полным жизненным циклом томов, включая подготовку, расширение, удаление, а также создание моментальных снимков с помощью kubectl команд.
  • Открытый исходный код и управляемое сообществом: Хранилище контейнеров Azure разрабатывается как проект с открытым исходным кодом. Его можно установить с помощью расширения AKS, как описано в руководстве, или через Helm с помощью репозитория local-csi-driver .

Поддерживаемые типы хранилища

Хранилище контейнеров Azure обеспечивает Kubernetes-нативный уровень оркестрации и управления для постоянных хранилищ на кластерах Kubernetes, работающих на Linux. Он использует предложения службы хранилища Azure в качестве базового хранилища данных.

Тип хранилища Description Workloads Offerings Модель подготовки
Локальный диск NVMe Использует локальные диски NVMe на узлах AKS. Лучше всего подходит для приложений, требующих низкой задержки и не допускающих устойчивости данных или встроенной репликации (например, PostgreSQL). Доступно для некоторых размеров виртуальных машин Azure, таких как оптимизированные под хранение и с ускорением на GPU виртуальные машины. Развернуто в кластере Kubernetes. Автоматически обнаруживает и получает локальные диски NVMe на узлах кластера для развертывания томов.
Elastic SAN Подготовлен по запросу как полностью управляемый ресурс. Базы данных общего назначения, службы потоковой передачи и обмена сообщениями, среды CI/CD и другие рабочие нагрузки уровня 1 и уровня 2. Azure Elastic SAN Подготовка по запросу для созданного тома, снимка состояния тома или статического тома Elastic SAN.

Поддержка функций для разных типов хранилища

В следующей таблице перечислены ключевые функции хранилища контейнеров Azure и указываются, поддерживаются ли они на локальных дисках NVMe.

Функция Локальный NVMe Elastic SAN
Временные тома Supported Не поддерживается
постоянные тома Поддерживается1 Supported
Расширение и изменение размера ПВ Supported Supported
Моментальные снимки Не поддерживается Supported
Репликация Не поддерживается Поддерживается (LRS и ZRS)
Опция ZRS N/A Supported
Encryption N/A Supported

1 По умолчанию хранилище контейнеров Azure использует универсальные временные тома для локальных дисков NVMe, что означает, что данные не сохраняются после удаления pod. Чтобы включить постоянные тома, которые не связаны с жизненным циклом pod, добавьте соответствующую аннотацию в запрос на постоянный том (PVC). Дополнительные сведения см. в статье "Создание постоянных томов с локальными дисками NVMe".

Доступность в регионах

Хранилище контейнеров Azure доступно только для подмножества регионов Azure:

  • Северная часть ЮАР (Африка)
  • "Восточная Австралия" (Азиатско-Тихоокеанский регион);
  • (Азиатско-Тихоокеанский регион) Восточная Азия
  • (Азиатско-Тихоокеанский регион) Восточная Япония
  • (Азиатско-Тихоокеанский регион) Республика Корея, центральный регион
  • Юго-Восточная Азия (Азиатско-Тихоокеанский регион)
  • "Центральная Индия" (Азиатско-Тихоокеанский регион);
  • (Европа) Центральная Франция
  • Центрально-Западная Германия (Европа)
  • "Европа (Северная Европа)"
  • "Западная Европа" (Европа).
  • (Европа) Южная часть Соединенного Королевства
  • (Европа) Центральная Швеция;
  • Северная Швейцария (Европа)
  • Северная часть ОАЭ (Ближний Восток)
  • (Северная Америка) Восточная часть США;
  • (Северная Америка) Восточная часть США 2;
  • (Северная Америка) Западная часть США
  • (Северная Америка) Западная часть США 2;
  • (Северная Америка) Западная часть США 3;
  • (Северная Америка) Центральная часть США;
  • (Северная Америка) Северная часть США
  • (Северная Америка) Центрально-южная часть США;
  • (Северная Америка) Западная часть США
  • (Северная Америка) Центральная Канада;
  • (Северная Америка) Восточная Канада
  • Южная Бразилия (Южная Америка)

Эластичная SAN доступна только в выбранных регионах Azure. Для получения полного и актуального списка см. Региональная доступность Elastic SAN.

Рекомендации по выбору основной версии

Хранилище контейнеров Azure предлагает две основные версии: версии 1 и 2. Выберите соответствующую версию на основе базового параметра хранилища.

  • Локальные диски NVMe: выберите службу хранилища контейнеров Azure версии 2.
  • Диски Azure: выберите службу хранилища контейнеров Azure версии 1. Служба хранилища контейнеров Azure версии 2 не поддерживает диски Azure.
  • Azure Elastic SAN: выберите службу хранилища контейнеров Azure версии 2.

Глоссарий

Используйте эти термины при работе с хранилищем контейнеров Azure и Kubernetes:

  • Контейнеризация. Упаковка кода приложения с операционной системой и необходимыми зависимостями для создания одного исполняемого файла.
  • Kubernetes: система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.
  • Служба Azure Kubernetes (AKS) — управляемая служба Kubernetes в Azure, которая выгрузит задачи управления кластерами, такие как мониторинг работоспособности и обслуживание.
  • Интерфейс хранилища контейнеров (CSI) — стандарт для предоставления доступа к системам хранения данных системам оркестрации контейнеров, таким как Kubernetes.
  • Кластер: набор вычислительных узлов (виртуальных машин), которые выполняют контейнерные приложения и управляются плоскостем управления.
  • Pod: группа одного или нескольких контейнеров с общими ресурсами хранилища и сети. Pod является наименьшей единицей развертывания в кластере Kubernetes.
  • StorageClass: ресурс Kubernetes, определяющий, как единица хранилища динамически создается для постоянного тома. См. классы хранилища Kubernetes.
  • Том: каталог, содержащий данные, доступные контейнерам в заданном модуле pod. Носители данных могут быть постоянными или временными.
  • Постоянный том (PV): необработанное блочное устройство, которое можно подключить с использованием любой файловой системы. Дополнительные сведения см. в разделе "Постоянные тома".
  • Запрос на постоянный том (ПВХ) — запрос на выделение тома, который Kubernetes использует для подготовки постоянного тома.
  • Azure Elastic SAN: масштабируемая, управляемая Azure сеть хранения (SAN), которая предоставляет устойчивые группы томов с прогнозируемой пропускной способностью и зональной избыточностью.
  • Группа томов: конструкция группировки в эластичной сети SAN, представляющая логический пул томов с общими политиками.

Следующие шаги