Что такое хранилище контейнеров Azure?
Хранилище контейнеров Azure — это облачная служба, предназначенная для управления томами, их развертывания и оркестрации. Эта служба изначально была создана для контейнеров. Она интегрируется с Kubernetes, позволяя динамически и автоматически подготавливать постоянные тома для хранения данных для приложений с отслеживанием состояния, работающих в кластерах Kubernetes.
Внимание
Хранилище контейнеров Azure недоступно во всех регионах Azure. См. сведения о доступности по регионам. Служба хранилища контейнеров Azure теперь общедоступна, начиная с версии 1.1.0. Для рабочих нагрузок рекомендуется использовать общедоступную версию. Если вы ранее установили предварительную версию хранилища контейнеров Azure и не включили автоматическое обновление, обязательно обновите ее до общедоступной версии.
Чтобы приступить к работе с хранилищем контейнеров Azure, см. статью "Использование хранилища контейнеров Azure" с Служба Azure Kubernetes или просмотр видео.
Это видео содержит общие сведения о хранилище контейнеров Azure, комплексном управлении хранилищами и службе оркестрации для приложений с отслеживанием состояния. Узнайте, как оптимизировать производительность рабочих нагрузок с отслеживанием состояния в Служба Azure Kubernetes (AKS) для эффективного масштабирования между службами хранилища, обеспечивая экономичное и собственное взаимодействие с контейнером.
Поддерживаемые типы хранилища
Хранилище контейнеров Azure использует существующие предложения служба хранилища Azure для фактического хранилища данных и предлагает решение для оркестрации томов и управления, специально созданное для контейнеров. Вы можете выбрать любой из поддерживаемых вариантов хранения, чтобы создать пул носителей для постоянных томов.
Хранилище контейнеров Azure обеспечивает поддержку постоянного тома с режимом доступа ReadWriteOnce к кластерам Служба Azure Kubernetes (AKS) под управлением Linux. Поддерживаемые варианты резервного хранилища включают только предложения хранилища блоков: диски Azure, временные диски (локальный NVMe или временный SSD) и Azure Elastic SAN (предварительная версия). В следующей таблице приведены поддерживаемые типы хранилища, рекомендуемые рабочие нагрузки и модели подготовки.
Тип хранилища | Description | Рабочие нагрузки | Предложения | Модель подготовки |
---|---|---|---|---|
Azure Elastic SAN (предварительная версия) | Подготовка по запросу полностью управляемого ресурса | Базы данных общего назначения, службы потоковой передачи и обмена сообщениями, среды CD/CI и другие рабочие нагрузки уровня 1/уровня 2. | Azure Elastic SAN | Подготовлено по требованию для созданного тома и моментального снимка тома. Несколько кластеров могут одновременно получить доступ к одной сети SAN, однако постоянные тома могут быть подключены только одним потребителем одновременно. |
Диски Azure | Детальный контроль номеров SKU и конфигураций хранилища | Диски Azure хорошо подходят для баз данных уровня 1 и общего назначения, таких как MySQL, MongoDB и PostgreSQL. | SSD уровня "Премиум", SSD уровня "Премиум" версии 2, SSD уровня "Стандартный", "Ультра" | Подготовлен для каждого целевого пула носителей контейнеров и максимальный размер тома. |
Временный диск | Использует локальные ресурсы хранилища на узлах AKS (NVMe или temp SSD) | Временный диск крайне учитывает задержку (низкая задержка в мс), поэтому лучше всего использовать приложения без необходимости обеспечения устойчивости данных или встроенной поддержки репликации данных, например Cassandra. | NVMe доступен на номерах SKU виртуальных машин, оптимизированных для хранения | Развернутый в составе виртуальных машин, в котором размещен кластер AKS. AKS обнаруживает доступное эфемерное хранилище на узлах AKS и получает их для развертывания томов. |
Поддержка функций для разных типов хранилища
Поддержка функций зависит от выбранного варианта резервного хранилища. В следующей таблице перечислены ключевые функции хранилища контейнеров Azure и указаны варианты их поддержки.
Компонент | Локальный NVMe | Локальный SSD | Диски Azure | Azure Elastic SAN (предварительная версия) |
---|---|---|---|---|
Расширение и изменение размера пула носителей | Поддерживается | Поддерживаемые | Поддерживается | Не поддерживается |
Репликация | Поддерживается | Не поддерживается | Поддержка собственного кода | Предварительный просмотр |
Потребление ресурсов | Поддерживается | Поддерживаемые | Поддерживается | Предварительный просмотр |
SSE/CMK | Не поддерживается | Не поддерживается | Поддерживается | Предварительный просмотр |
Параметр "Предоставить ZRS" | Неприменимо | Неприменимо | Поддерживается | Предварительный просмотр |
перенос постоянных томов; | Поддерживается1 | Поддерживается1 | Поддерживается | Предварительный просмотр |
Временные тома | Поддерживается | Поддерживаемые | Поддерживается | Предварительный просмотр |
Моментальные снимки | Поддерживается | Поддерживаемые | Поддерживается | Не поддерживается |
1 Для локального NVMe и локального SSD хранилище контейнеров Azure использует универсальные временные тома по умолчанию, в которых данные не сохраняются. Однако можно обновить установку хранилища контейнеров Azure, чтобы обеспечить поддержку создания постоянных томов из временных пулов носителей дисков.
Доступность в регионах
Хранилище контейнеров Azure доступно только для подмножества регионов Azure:
- Северная часть ЮАР (Африка)
- "Восточная Австралия" (Азиатско-Тихоокеанский регион);
- (Азиатско-Тихоокеанский регион) Восточная Азия
- (Азиатско-Тихоокеанский регион) Восточная Япония
- (Азиатско-Тихоокеанский регион) Республика Корея, центральный регион
- Юго-Восточная Азия (Азиатско-Тихоокеанский регион)
- "Центральная Индия" (Азиатско-Тихоокеанский регион);
- (Европа) Центральная Франция
- Центрально-Западная Германия (Европа)
- "Северная Европа" (Европа);
- "Западная Европа" (Европа).
- (Европа) Южная часть Соединенного Королевства
- (Европа) Центральная Швеция;
- Северная Швейцария (Европа)
- Северная часть ОАЭ (Ближний Восток)
- (Северная Америка) Восточная часть США;
- (Северная Америка) Восточная часть США 2;
- (Северная Америка) Западная часть США
- (Северная Америка) Западная часть США 2;
- (Северная Америка) Западная часть США 3;
- (Северная Америка) Центральная часть США;
- (Северная Америка) Северная часть США
- (Северная Америка) Центрально-южная часть США;
- (Северная Америка) Западная часть США
- (Северная Америка) Центральная Канада;
- (Северная Америка) Восточная Канада
- Южная Бразилия (Южная Америка)
Новые возможности хранилища контейнеров Azure
Последние обновления повышают устойчивость и производительность контейнеров с отслеживанием состояния. Теперь мы предлагаем пулы носителей с несколькими зонами и репликацию томов для локальных пулов носителей NVMe, обеспечивая доступность во время сбоев одного узла. Поддержка моментальных снимков доступна во всех вариантах хранения для резервного копирования и аварийного восстановления. Кроме того, портфель временных дисков теперь включает поддержку временных SSD, предоставляя экономичные решения для вариантов использования непосредственно подключенного локального хранилища:
- Повышение устойчивости постоянных томов, размещенных в локальном хранилище NVMe (временные диски серии L) с поддержкой репликации.
- Улучшено восстановление постоянного тома после перезапуска кластера Служба Azure Kubernetes (AKS).
- Настройте производительность локального хранилища NVMe с новыми параметрами уровня производительности.
Дополнительные сведения об этих функциях можно получить по электронной почте в команде [email protected]службы хранилища контейнеров Azure.
Почему служба хранилища контейнеров Azure полезна
До сих пор предоставление облачного хранилища для контейнеров, необходимых для использования отдельных драйверов интерфейса хранилища контейнеров (CSI) для использования служб хранилища, предназначенных для рабочих нагрузок, ориентированных на IaaS, и сделать их работой для контейнеров. Это создает операционные издержки и повышает риск проблем с доступностью приложений, масштабируемостью, производительностью, удобством использования и затратами.
Хранилище контейнеров Azure является производным от OpenEBS, решения с открытым исходным кодом, которое предоставляет возможности хранения контейнеров для Kubernetes. Предлагая решение оркестрации управляемых томов с помощью контроллеров хранилища на основе микрослужб в среде Kubernetes, хранилище контейнеров Azure обеспечивает истинное хранилище на основе контейнера.
Хранилище контейнеров Azure можно использовать для:
Ускорение инициатив между виртуальными машинами и контейнерами. Хранилище контейнеров Azure предоставляет полный спектр предложений хранилища блоков Azure, которые ранее были доступны только для виртуальных машин и делают их доступными для контейнеров. Это включает в себя временный диск, обеспечивающий крайне низкую задержку для рабочих нагрузок, таких как Cassandra, а также Azure Elastic SAN (предварительная версия), предоставляющий собственные целевые объекты iSCSI и общие подготовленные целевые объекты.
Упрощение управления томами с помощью Kubernetes: обеспечивая оркестрацию томов с помощью плоскости управления Kubernetes, хранилище контейнеров Azure упрощает развертывание томов в Kubernetes и управление ими без необходимости перемещаться между различными плоскостями управления.
Уменьшите общую стоимость владения (TCO): повысить эффективность затрат, увеличив масштаб постоянных томов, поддерживаемых для каждого модуля pod или узла. Уменьшите ресурсы хранилища, необходимые для подготовки, динамически предоставляя общий доступ к ресурсам хранилища. Обратите внимание, что поддержка масштабирования самого пула носителей не поддерживается.
Ключевые преимущества
Быстрое масштабирование модулей pod с отслеживанием состояния: хранилище контейнеров Azure подключает постоянные тома через протоколы хранилища сетевых блоков (NVMe-oF или iSCSI), предлагая быстрое подключение и отключение постоянных томов. При необходимости можно запускать небольшие и развертывать ресурсы, убедившись, что приложения не голодают или не нарушаются либо во время инициализации, либо в рабочей среде. Устойчивость приложений улучшается с помощью модулей pod respawns в кластере, требуя быстрого перемещения постоянных томов. Использование протоколов удаленной сети, хранилище контейнеров Azure тесно связывается со жизненным циклом pod для поддержки высоконадежных высокомасштабных приложений с отслеживанием состояния в AKS.
Улучшенная производительность рабочих нагрузок с отслеживанием состояния: хранилище контейнеров Azure обеспечивает более высокую производительность чтения и обеспечивает производительность записи почти на диске с помощью NVMe-oF по протоколу TCP. Это позволяет клиентам эффективно соответствовать требованиям к производительности для различных рабочих нагрузок контейнеров, включая интенсивный ввод-вывод уровня 1, общую цель, учетную пропускную способность и тестирование. Ускорьте время подключения и отсоединения постоянных томов и свести к минимуму время отработки отказа pod.
Оркестрация томов в собственном коде Kubernetes: создание пулов носителей и постоянных томов, создание моментальных снимков и управление всем жизненным циклом томов с помощью
kubectl
команд без переключения между наборами инструментов для различных операций уровня управления.
Глоссарий
Полезно понять некоторые ключевые термины, связанные с хранилищем контейнеров Azure и Kubernetes:
Контейнеризация
Упаковка кода приложения только с операционной системой и необходимыми зависимостями для создания одного исполняемого файла.
Kubernetes
Kubernetes — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.
Cluster
Кластер Kubernetes — это набор вычислительных узлов (виртуальных машин), которые запускают контейнерные приложения. Каждый узел управляется плоскостем управления и содержит службы, необходимые для запуска модулей pod.
Pod
Модуль pod — это группа одного или нескольких контейнеров с общими ресурсами хранилища и сети, а также спецификация запуска контейнеров. Модуль pod — это наименьший блок развертывания в кластере Kubernetes.
Служба Azure Kubernetes (AKS)
Служба Azure Kubernetes — это размещенная служба Kubernetes, которая упрощает развертывание управляемого кластера Kubernetes в Azure путем разгрузки операционных расходов в Azure. Azure обрабатывает критически важные задачи, такие как мониторинг работоспособности и обслуживание.
Пул носителей
Стек хранилища контейнеров Azure пытается объединить объектную модель между ресурсами кластера и абстракциями платформы. Для достижения единого представления доступная емкость хранилища агрегируется в объект пула носителей. Емкость хранилища в пуле носителей считается однородной. Кластер AKS может иметь несколько пулов носителей. Пулы носителей также служат границей проверки подлинности и подготовки. Они предоставляют логическую конструкцию для операторов для управления инфраструктурой хранилища, упрощая создание тома и управление ими для разработчиков приложений.
Storage Class (Класс хранения)
Класс хранилища Kubernetes определяет, как единица хранилища динамически создается с постоянным томом. Дополнительные сведения см. в разделе "Классы хранилища Kubernetes".
Объем
Том Kubernetes — это каталог, содержащий данные, доступные контейнерам в заданном модуле pod. Тома могут быть постоянными или временными. Тома подготавливаются тонко в пуле носителей и совместно используют характеристики производительности (операции ввода-вывода в секунду, пропускную способность и емкость) пула носителей.
Постоянный том
Постоянные тома похожи на диски на виртуальной машине. Они представляют необработанное устройство блока, которое можно использовать для подключения любой файловой системы. Разработчики приложений создают постоянные тома вместе с определениями приложения или pod, а тома часто привязаны к жизненному циклу приложения с отслеживанием состояния. Дополнительные сведения см. в разделе "Постоянные тома".
Утверждение постоянного тома (ПВХ)
Утверждение постоянного тома используется для автоматической подготовки хранилища на основе класса хранилища.