Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс хранилища контейнеров (CSI) — это стандарт для предоставления систем хранения произвольных блоков и файлов для контейнерных рабочих нагрузок в Kubernetes. При использовании CSI служба Azure Kubernetes (AKS) может записывать, развертывать и итерировать подключаемые модули для предоставления новых или улучшения существующих систем хранения в Kubernetes без необходимости касаться основного кода Kubernetes и ждать циклов выпуска.
Поддержка драйвера хранилища CSI в AKS позволяет использовать диски Azure, файлы Azure или хранилище BLOB-объектов Azure в качестве постоянного хранилища для приложений, работающих в AKS.
Совет
Если вы хотите полностью управляемое решение для доступа на уровне блоков к данным, рассмотрите возможность использования хранилища контейнеров Azure вместо драйверов CSI. Хранилище контейнеров Azure интегрируется с Kubernetes, чтобы динамически подготавливать постоянные тома для приложений с состоянием в кластерах Kubernetes.
Это важно
Начиная с Kubernetes версии 1.26, типы постоянных томов kubernetes.io/azure-disk в дереве и kubernetes.io/azure-file устарели и больше не будут поддерживаться.
Драйверы в дереве относятся к драйверам хранилища, которые являются частью основного кода Kubernetes, против драйверов CSI, которые являются подключаемыми модулями.
Удаление этих драйверов после их отмены не планируется, однако следует перенести их в соответствующие драйверы disk.csi.azure.com CSI и file.csi.azure.com. Чтобы просмотреть варианты миграции для классов хранилища и обновить кластер для использования драйверов CSI для дисков и файлов Azure, см. раздел "Миграция с in-tree драйверов на драйверы CSI".
Если вы создали классы хранилища драйверов в дереве, эти классы хранения продолжают работать, так как миграция CSI включена после обновления кластера до версии 1.21.x. Если вы хотите использовать функции CSI, необходимо выполнить миграцию.
Информация о драйвере CSI для дисков Azure
Драйвер CSI дисков Azure — это драйвер, соответствующий спецификации CSI, используемый AKS для управления жизненным циклом ресурсов дисков Azure. С помощью драйвера CSI дисков Azure можно создать ресурс DataDisk Kubernetes. Диски могут использовать службу хранилища Azure ценовой категории "Премиум" на основе высокопроизводительных твердотельных накопителей или службу хранилища Azure ценовой категории "Стандартный" на основе обычных жестких дисков или стандартных твердотельных накопителей. Для большинства рабочих нагрузок, связанных с производством и разработкой, следует использовать службу хранилища ценовой категории "Премиум". Диски Azure подключаются в режиме ReadWriteOnce и доступны только одному узлу в AKS. Для томов хранилища, к которым одновременно могут обращаться несколько узлов, следует использовать файлы Azure.
Функции драйвера CSI дисков Azure
В дополнение к функциям драйвера в дереве драйвер Azure Disk CSI поддерживает следующие функции:
- Улучшения производительности во время параллельных операций подключения диска и отсоединения.
- Драйверы в дереве присоединяют или отсоединяют диски в последовательном режиме, а драйверы CSI присоединяют или отсоединяют диски в пакетном режиме. Существует значительное улучшение при наличии нескольких дисков, присоединенных к одному узлу.
- SSD уровня "Премиум" версии 1 и версии 2.
-
PremiumV2_LRSподдерживает только режим кэшированияNone.
-
- Поддержка дисков с избыточным хранением между зонами (ZRS).
-
Premium_ZRSПоддерживаютсяStandardSSD_ZRSтипы дисков. Диск ZRS может быть запланирован на узле зоны или незон, без ограничения, что том диска должен находиться в той же зоне, что и заданный узел. Дополнительные сведения, включая поддерживаемые регионы, см. в разделе "Хранение с избыточностью по зонам" для управляемых дисков.
-
- Создавайте моментальные снимки постоянных томов.
- Создайте клоны томов.
- Измените размер постоянных томов без простоя.
Примечание.
В зависимости от используемого номера SKU виртуальной машины драйвер CSI диска Azure может иметь ограничение тома для каждого узла. Для некоторых мощных виртуальных машин (например, 16 ядер) ограничение составляет 64 тома на узел. Чтобы определить ограничение на номер SKU виртуальной машины, просмотрите столбец "Максимальное количество дисков данных" для каждого предлагаемого номера SKU виртуальной машины. Список предлагаемых номеров SKU виртуальных машин и их соответствующих подробных ограничений емкости см. в разделе "Размеры виртуальных машин общего назначения".
Информация о драйвере CSI файлов Azure
Драйвер CSI файлов Azure — это драйвер, соответствующий спецификации CSI, используемый AKS для управления жизненным циклом общих папок Azure. С помощью драйвера CSI файлов Azure можно подключить общую папку SMB 3.0/3.1, поддерживаемую учетной записью хранения Azure, к модулям pod. Файлы Azure обеспечивают обмен данными между несколькими узлами и подами. Файлы Azure могут использовать стандартное хранилище Azure на основе обычных жестких дисков или премиум-хранилище Azure на основе высокопроизводительных твердотельных накопителей.
Сведения о драйвере интерфейса CSI объектного хранилища Azure Blob
Драйвер CSI хранилища BLOB-объектов Azure — это драйвер, соответствующий спецификации CSI, используемый AKS для управления жизненным циклом хранилища BLOB-объектов Azure. С помощью драйвера CSI для BLOB-хранилища Azure можно монтировать BLOB-хранилище (или объектное хранилище) в виде файловой системы в контейнер или pod. Использование хранилища BLOB-объектов позволяет кластеру поддерживать приложения, которые работают с большими неструктурированными наборами данных, такими как данные файла журнала, изображения или документы, HPC и другие. Кроме того, при приеме данных в Хранилище Azure Data Lake можно напрямую подключить и использовать их в AKS, не настраивая другую промежуточную файловую систему.
При подключении хранилища BLOB-объектов Azure в качестве файловой системы в контейнер или pod он позволяет использовать хранилище BLOB-объектов с несколькими приложениями, которые работают с большим объемом неструктурированных данных, например:
- Данные файла журнала
- Изображения, документы и потоковое видео или аудио
- Данные аварийного восстановления
Приложения могут получить доступ к данным в хранилище объектов с помощью протокола BLOBFuse или сетевой файловой системы (NFS) 3.0. Перед введением драйвера CSI хранилища BLOB-объектов Azure единственным вариантом было вручную установить неподдерживаемый драйвер для доступа к хранилищу BLOB-объектов из приложения, работающего в AKS.
Особенности драйвера CSI для объектного хранилища Blob Azure
- Два встроенных класса хранилища: azureblob-fuse-Premium_ и azureblob-nfs-premium.
- Протокол BlobFuse и сетевой файловой системы (NFS) версии 3.0.
Предварительные условия
- Вам потребуется Azure CLI версии 2.42 или более поздней. Найдите версию с помощью
az --versionкоманды. Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI. - Если драйвер хранилища CSI с открытым кодом установлен в кластере, удалите его перед включением драйвера CSI службы хранилища Azure.
Выполните действия, описанные здесь , если вы ранее установили драйвер хранилища BLOB-объектов CSI с открытым исходным кодом, чтобы получить доступ к хранилищу BLOB-объектов Azure из кластера.
Примечание.
Если blobfuse-proxy не включен во время установки драйвера с открытым кодом, удаление этого драйвера нарушает существующие подключения blobfuse. Однако подключения NFS остаются неизменными.
- Чтобы применять политику Azure для AKS, где определение политики касается того, что
StorageClass, необходимо включить надстройку политики Azure в вашем кластере. Чтобы включить на существующем кластере, см. Learn Azure Policy for Kubernetes.
Поддерживаемые сценарии шифрования дисков
Драйверы хранилища CSI поддерживают следующие сценарии:
- Зашифрованные управляемые диски с ключами, управляемыми клиентом, с помощью хранилищ ключей Azure, хранящихся в другом клиенте Microsoft Entra.
- Шифрование дисков службы хранилища Azure с данными операционной системы AKS и приложений с помощью ключей, управляемых клиентом.
Включение драйвера хранилища CSI дисков Azure в существующем кластере AKS
Включите драйвер CSI для дисков Azure в существующем кластере с помощью команды [
az aks update][az-aks-update] с параметром--enable-disk-driver. Следующий пример включает драйвер CSI дисков Azure в существующем кластере с именем myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Контроллер моментальных снимков можно включить одновременно с драйвером CSI для дисков Azure, что позволит вам создавать моментальные снимки постоянных томов. Чтобы включить контроллер моментальных снимков, включите
--enable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driverДля включения драйвера CSI дисков Azure требуется несколько минут. После завершения команды вы можете убедиться, что драйвер включен, проверив, что в выходных данных установлено значение
blobCsiDriverдляtrue. Рассмотрим пример."storageProfile": { "blobCsiDriver": { "enabled": true },
Включение драйвера хранилища CSI файлов Azure в существующем кластере AKS
Включите драйвер CSI файлов Azure в существующем кластере с помощью команды [
az aks update][az-aks-update] с параметром--enable-file-driver. В следующем примере активируется драйвер CSI Files Azure в существующем кластере с именем myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Вы можете включить контроллер моментальных снимков одновременно с драйвером CSI файлов Azure, что позволит вам создавать моментальные снимки ваших постоянных томов. Чтобы включить контроллер моментальных снимков, включите
--enable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-file-driverДля того чтобы включить драйвер CSI для Azure Files, потребуется несколько минут. После завершения команды вы можете убедиться, что драйвер включен, проверив, что в выходных данных установлено значение
fileCsiDriverдляtrue. Рассмотрим пример."storageProfile": { "fileCsiDriver": { "enabled": true },
Включение драйвера хранилища CSI хранилища BLOB-объектов Azure в существующем кластере AKS
Включите драйвер CSI хранилища Azure Blob в существующем кластере с помощью команды [az-aks-update][
az aks update] с параметром--enable-blob-driver. В следующем примере показывается, как включить драйвер CSI хранилища Blob Azure в существующем кластере myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Контроллер моментальных снимков можно включить одновременно с драйвером CSI для хранилища Blob Azure, что позволяет создавать моментальные снимки персистентных томов. Чтобы включить контроллер моментальных снимков, включите
--enable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --enable-blob-driverДля включения драйвера CSI хранилища BLOB-объектов Azure требуется несколько минут. После завершения команды вы можете убедиться, что драйвер включен, проверив, что в выходных данных установлено значение
blobCsiDriverдляtrue. Рассмотрим пример."storageProfile": { "blobCsiDriver": { "enabled": true },
Отключение драйвера хранилища CSI дисков Azure в существующем кластере AKS
Отключите драйвер CSI дисков Azure в существующем кластере с помощью команды [][
az aks updateaz-aks-update] с параметром--disable-disk-driver. Следующий пример отключает драйвер CSI дисков Azure в существующем кластере с именем myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Контроллер моментальных снимков можно отключить, включив
--disable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-disk-driver
Отключение драйвера хранилища CSI файлов Azure в существующем кластере AKS
Отключите драйвер CSI файлов Azure в существующем кластере, используя команду [az-aks-update][
az aks update] с параметром--disable-file-driver. В следующем примере драйвер CSI файлов Azure отключается в существующем кластере с именем myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Контроллер моментальных снимков можно отключить, включив
--disable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-file-driver
Отключение драйвера CSI хранилища BLOB-объектов Azure в существующем кластере AKS
Отключите драйвер CSI хранилища Azure Blob в существующем кластере, используя команду [az-aks-update
az aks update] с параметром--disable-blob-driver. В следующем примере драйвер CSI хранилища BLOB-объектов Azure отключен в существующем кластере myAKSCluster в группе ресурсов myResourceGroup:Примечание.
Контроллер моментальных снимков можно отключить, включив
--disable-snapshot-controllerпараметр в команду.az aks update --name myAKSCluster --resource-group myResourceGroup --disable-blob-driver
Примечание.
Рекомендуется удалить соответствующий объект PersistentVolumeClaim вместо объекта PersistentVolume при удалении тома CSI. Внешний провиженер в драйвере CSI реагирует на удаление PersistentVolumeClaim. На основе политики рекламации PVC, поставщик инициирует вызов DeleteVolume к командам драйвера тома CSI для удаления тома. Затем удаляется объект PersistentVolume.