Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если нескольким pod'ам требуется одновременный доступ к одному тому хранилища, можно использовать хранилище BLOB-объектов Azure для подключения с помощью blobfuse или сетевой файловой системы (NFS).
В этой статье показано, как динамически и статически создавать контейнеры хранилища BLOB-объектов Azure для использования несколькими подами в кластере Службы Azure Kubernetes (AKS).
Предпосылки
В кластере AKS активирован драйвер CSI хранилища BLOB-объектов Azure.
Учетная запись хранения с поддержкой NFS версии 3, что позволяет подключить постоянный том с помощью протокола NFS. Вы не можете включить NFS версии 3 в существующей учетной записи хранения. Дополнительные сведения см. в статье "Создание учетной записи NFS версии 3".
Чтобы поддерживать учетную запись хранения Azure DataLake 2-го поколения при использовании подключения blobfuse, необходимо выполнить следующие задачи:
- Чтобы создать учетную запись ADLS с помощью драйвера в динамической подготовке, укажите
isHnsEnabled: "true"в параметрах класса хранилища. - Чтобы включить доступ blobfuse к учетной записи ADLS в процессе статического выделения, укажите параметр монтирования
--use-adls=trueв настройках постоянного тома. - Если вы собираетесь включить учетную запись хранения с иерархическим пространством имен, существующие постоянные тома следует повторно подключить с
--use-adls=trueпомощью параметра подключения.
- Чтобы создать учетную запись ADLS с помощью драйвера в динамической подготовке, укажите
По умолчанию кэш blbfuse находится в каталоге
/mnt. Если SKU виртуальной машины предоставляет временный диск,/mntкаталог монтируется на временный диск. Однако если номер SKU виртуальной машины не предоставляет временный диск,/mntкаталог подключен к диску ОС, вы можете задать--tmp-path=параметр монтирования, чтобы указать другой каталог кэша.
Использование встроенных классов хранения для создания динамических PV с Azure Blob Storage
Класс хранения используется для определения способа создания контейнера хранилища BLOB-объектов Azure. Для хранения контейнера хранилища BLOB-объектов Azure учетная запись хранения создается автоматически в группе ресурсов узла для использования с классом хранения. При использовании драйверов CSI для хранилища в AKS имеются два дополнительных встроенных компонента, которые используют драйвер CSI для Azure Blob Storage.
Политика освобождения емкости в обоих классах хранения гарантирует, что базовое хранилище Azure Blob будет удалено при удалении соответствующего постоянного тома. Классы хранения также конфигурируют расширяемость контейнера по умолчанию, поскольку для параметра set allowVolumeExpansion задано значение true.
Замечание
Сжатие постоянных томов не поддерживается.
Вы можете выбрать один из следующих вариантов избыточности хранилища Azure SKU для параметра в определении класса хранения.
- Standard_LRS — стандартное локально избыточное хранилище.
- Premium_LRS — локально избыточное хранилище класса Premium.
- Standard_ZRS: стандартное хранилище с зональной избыточностью
- Premium_ZRS: избыточное хранилище зоны "Премиум"
- Standard_GRS — стандартное геоизбыточное хранилище
- Standard_RAGRS — стандартное геоизбыточное хранилище с доступом только для чтения;
Создание пользовательских классов хранилища для динамических PV с помощью хранилища BLOB-объектов Azure
Классы хранилища по умолчанию подходят для большинства сценариев. В некоторых случаях может потребоваться настроить собственный класс хранилища с собственными параметрами. В этом разделе приведены два примера: один с использованием протокола NFS и один с помощью blobfuse.
Пример пользовательского класса хранилища с помощью протокола NFS
Манифест в этом примере подключает контейнер хранилища BLOB-объектов с помощью протокола NFS. Его можно использовать для добавления tags параметра.
Создайте файл с именем
blob-nfs-sc.yamlи вставьте в следующий пример манифеста:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: azureblob-nfs-premium provisioner: blob.csi.azure.com parameters: protocol: nfs tags: environment=Development volumeBindingMode: Immediate allowVolumeExpansion: true mountOptions: - nconnect=4Создайте класс хранилища с помощью
kubectl applyкоманды:kubectl apply -f blob-nfs-sc.yamlВыходные данные должны выглядеть примерно так:
storageclass.storage.k8s.io/blob-nfs-premium created
Пример пользовательского класса хранилища с помощью blobfuse
Манифест в этом примере использует blobfuse и подключает контейнер хранилища Blob. Его можно использовать для обновления skuName параметра.
Создайте файл с именем
blobfuse-sc.yamlи вставьте в следующий пример манифеста:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: azureblob-fuse-premium provisioner: blob.csi.azure.com parameters: skuName: Standard_GRS # available values: Standard_LRS, Premium_LRS, Standard_GRS, Standard_RAGRS reclaimPolicy: Delete volumeBindingMode: Immediate allowVolumeExpansion: true mountOptions: - -o allow_other - --file-cache-timeout-in-seconds=120 - --use-attr-cache=true - --cancel-list-on-mount-seconds=10 # prevent billing charges on mounting - -o attr_timeout=120 - -o entry_timeout=120 - -o negative_timeout=120 - --log-level=LOG_WARNING # LOG_WARNING, LOG_INFO, LOG_DEBUG - --cache-size-mb=1000 # Default will be 80% of available memory, eviction will happen beyond that.Создайте класс хранилища с помощью
kubectl applyкоманды:kubectl apply -f blobfuse-sc.yamlВыходные данные должны выглядеть примерно так:
storageclass.storage.k8s.io/blob-fuse-premium created
Параметры класса хранилища Azure Blob для динамических PV
В следующей таблице приведены параметры, которые можно использовать для определения пользовательского класса хранилища для постоянных требований к хранилищу (ПКТ) с использованием хранилища BLOB-объектов Azure.
| Имя. | Значение | Доступные значения | Обязательно | Значение по умолчанию |
|---|---|---|---|---|
skuName |
Укажите тип учетной записи хранения Azure (псевдоним: storageAccountType). |
Standard_LRS
Premium_LRS
Standard_GRS
Standard_RAGRS
|
нет | Standard_LRS |
location |
Укажите расположение Azure. | eastus |
нет | Если это пусто, драйвер использует то же имя расположения, что и текущий кластер. |
resourceGroup |
Указывает имя группы ресурсов Azure. | myResourceGroup | нет | Если это пусто, драйвер использует то же имя группы ресурсов, что и текущий кластер. |
storageAccount |
Указывает имя учетной записи хранения Azure. | storageAccountName | нет | Если имя определенной учетной записи хранения не указано, драйвер ищет подходящую учетную запись хранения, соответствующую параметрам учетной записи в той же группе ресурсов. Если не удается найти соответствующую учетную запись хранения, она создает новую. Однако если указано имя учетной записи хранения, учетная запись хранения должна существовать. |
networkEndpointType |
Укажите тип сетевой конечной точки для учетной записи хранения, созданной драйвером. Если указан privateEndpoint, для учетной записи хранения создается частная конечная точка . В других случаях для протокола NFS создается конечная точка службы. | privateEndpoint |
нет | Для кластера AKS добавьте имя кластера AKS в роль участника в группе ресурсов, включающей виртуальную сеть. |
protocol |
Укажите подключение blobfuse или подключение NFSv3. |
fuse, nfs |
нет | fuse |
containerName |
Укажите имя существующего каталога (контейнера). | container | нет | Если это поле не заполнено, драйвер создает новое имя контейнера, начиная с pvc-fuse для blobfuse или pvc-nfs для NFS версии 3. |
containerNamePrefix |
Укажите префикс каталога хранилища Azure, созданный драйвером. | мой | Может содержать только строчные буквы, цифры, дефисы и длину не более 21 символов. | нет |
server |
Укажите доменное имя учетной записи хранения Azure. | Например <storage-account>.blob.core.windows.net, существующее доменное имя учетной записи хранения DNS. |
нет | Если пусто, драйвер использует доменное имя DNS учетной записи хранения по умолчанию <storage-account>.blob.core.windows.net или другое доменное имя суверенного облачного хранилища. |
allowBlobPublicAccess |
Разрешить или запретить общий доступ ко всем блобам или контейнерам учетной записи хранилища, созданной драйвером. |
true,false |
нет | false |
storageEndpointSuffix |
Укажите суффикс конечной точки хранилища Azure. | core.windows.net |
нет | Если это пусто, драйвер использует суффикс конечной точки хранилища по умолчанию в соответствии с облачной средой. |
tags |
Теги будут созданы в новой учетной записи хранения. | Формат тега: 'foo=aaa,bar=bbb' | нет | "" |
matchTags |
Сопоставляет теги, когда драйвер пытается найти подходящую учетную запись хранения. |
true,false |
нет | false |
| --- | Следующие параметры предназначены только для blobfuse | --- | --- | --- |
subscriptionID |
Укажите идентификатор подписки Azure, в которой создается каталог хранилища Blob. | Идентификатор подписки Azure | нет | Если значение не пустое, необходимо указать resourceGroup. |
storeAccountKey |
Укажите ключ учетной записи хранения для секрета в Kubernetes. Примечание. false означает, что для получения ключа учетной записи драйвер использует удостоверение kubelet. |
true,false |
нет | true |
secretName |
Указывает имя секрета для хранения ключа учетной записи. | нет | ||
secretNamespace |
Укажите пространство имен секрета для хранения ключа учетной записи. |
default,kube-system и т. д. |
нет | Пространство имен PVC |
isHnsEnabled |
Включите Hierarchical namespace учетную запись хранения Azure Data Lake. |
true,false |
нет | false |
| --- | Следующие параметры предназначены только для протокола NFS. | --- | --- | --- |
mountPermissions |
Укажите разрешения смонтированной папки. | Значение по умолчанию — 0777. Если задано значение 0, драйвер не выполнит chmod после монтирования. |
нет | 0777 |
Замечание
Если учетная запись хранения создается драйвером, необходимо указать networkEndpointType: privateEndpoint только параметр в классе хранилища. Драйвер CSI создает частную конечную точку и частную зону DNS (именованную privatelink.blob.core.windows.net) вместе с учетной записью. Если у вас есть собственная учетная запись хранения, необходимо создать частную конечную точку для аккаунта хранения. Если вы используете хранилище BLOB-объектов Azure в изолированном сетевом кластере, необходимо создать пользовательский класс хранилища с помощью networkEndpointType: privateEndpoint. В качестве ссылки можно использовать следующий пример манифеста:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: blob-fuse
provisioner: blob.csi.azure.com
parameters:
skuName: Premium_LRS # available values: Standard_LRS, Premium_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_ZRS
protocol: fuse2
networkEndpointType: privateEndpoint
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- -o allow_other
- --file-cache-timeout-in-seconds=120
- --use-attr-cache=true
- --cancel-list-on-mount-seconds=10 # prevent billing charges on mounting
- -o attr_timeout=120
- -o entry_timeout=120
- -o negative_timeout=120
- --log-level=LOG_WARNING # LOG_WARNING, LOG_INFO, LOG_DEBUG
- --cache-size-mb=1000 # Default will be 80% of available memory, eviction will happen beyond that.
Создание ПВХ с хранилищем BLOB-объектов Azure
В PVC используется объект класса хранилища для динамического выделения Blob-хранилища Azure. Пример манифеста YAML в этом разделе можно использовать для создания PVC размером 5 ГБ с правами доступа ReadWriteMany. Дополнительные сведения о режимах доступа см. в разделе "Режимы доступа Kubernetes PV".
Создайте файл с именем
blob-nfs-pvc.yamlи вставьте следующий манифест YAML:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: azure-blob-storage spec: accessModes: - ReadWriteMany storageClassName: azureblob-nfs-premium resources: requests: storage: 5GiСоздайте ПВХ с помощью
kubectl createкоманды:kubectl create -f blob-nfs-pvc.yamlПросмотрите состояние ПВХ с
kubectl getпомощью команды:kubectl get pvc azure-blob-storageВаши выходные данные должны выглядеть следующим образом, показывая, что PVC находится в состоянии
Bound:NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE azure-blob-storage Bound pvc-aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 5Gi RWX azureblob-nfs-premium 92m
Использование ПВХ в модуле pod для подключения хранилища BLOB-объектов Azure
В следующем YAML создается под, использующий заявку на постоянный том azure-blob-storage для подключения хранилища BLOB-объектов Azure в /mnt/blob путь.
Создайте файл с именем
blob-nfs-pvи вставьте его в следующий манифест YAML. Убедитесь, чтоclaimNameсоответствует PVC, созданным на предыдущем шаге.kind: Pod apiVersion: v1 metadata: name: mypod spec: containers: - name: mypod image: mcr.microsoft.com/oss/nginx/nginx:1.17.3-alpine resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - mountPath: "/mnt/blob" name: volume readOnly: false volumes: - name: volume persistentVolumeClaim: claimName: azure-blob-storageСоздайте pod с помощью
kubectl applyкоманды:kubectl apply -f blob-nfs-pv.yamlПосле успешного запуска pod создайте новый файл с именем
test.txtс помощью следующей команды:kubectl exec mypod -- touch /mnt/blob/test.txtПроверьте правильность подключения диска с помощью следующей команды для перечисления файлов в подключенном каталоге:
kubectl exec mypod -- ls /mnt/blobВаш результат должен походить на следующий пример, в котором приведен
test.txtфайл, созданный в смонтированном хранилище BLOB-объектов Azure.test.txt
Использование StatefulSet для управления жизненным циклом тома с помощью хранилища BLOB-объектов Azure
Чтобы том хранилища оставался персистентным для вашей рабочей нагрузки, можно использовать StatefulSet. Это условие облегчает сопоставление существующих томов с новыми pod'ами, которые заменяют те, что вышли из строя. В следующих примерах показано, как настроить StatefulSet для хранилища BLOB-объектов с помощью протокола NFS или Blobfuse.
Замечание
Если вы используете протокол NFS, необходимо добавить удостоверение уровня управления кластером AKS (имя кластера AKS) в роль участника в виртуальной сети и группе безопасности сети.
Создайте файл с именем
azure-blob-nfs-ss.yamlи вставьте следующий манифест YAML:apiVersion: apps/v1 kind: StatefulSet metadata: name: statefulset-blob-nfs labels: app: nginx spec: serviceName: statefulset-blob-nfs replicas: 1 template: metadata: labels: app: nginx spec: nodeSelector: "kubernetes.io/os": linux containers: - name: statefulset-blob-nfs image: mcr.microsoft.com/azurelinux/base/nginx:1.25 volumeMounts: - name: persistent-storage mountPath: /mnt/blob updateStrategy: type: RollingUpdate selector: matchLabels: app: nginx volumeClaimTemplates: - metadata: name: persistent-storage spec: storageClassName: azureblob-nfs-premium accessModes: ["ReadWriteMany"] resources: requests: storage: 100GiСоздайте StatefulSet с помощью
kubectl createкоманды:kubectl create -f azure-blob-nfs-ss.yaml
Создайте статический PV с хранилищем BLOB-объектов Azure
В следующих разделах приведены инструкции по созданию статического PV с хранилищем BLOB-объектов Azure. Статический ПВ — это постоянный том, который администратор создает вручную. Этот PV доступен для использования модулями pod в кластере. Чтобы использовать статический PV, создайте ПВХ, который ссылается на PV, а затем создадите модуль pod, который ссылается на ПВХ.
Параметры класса хранилища для статических PV с хранилищем объектов Azure Blob
В следующей таблице представлены параметры, которые можно использовать для задания пользовательского класса хранения для ваших статических запросов на постоянное хранилище в области Blob Azure.
| Имя. | Значение | Доступные значения | Обязательно | Значение по умолчанию |
|---|---|---|---|---|
volumeHandle |
Укажите значение, которое драйвер может использовать для уникальной идентификации контейнера объектов BLOB в кластере. | Рекомендуемый способ создать уникальное значение — объединить глобально уникальное имя учетной записи хранения и имя контейнера: {account-name}_{container-name}Примечание. #/ символы зарезервированы для внутреннего использования и не могут использоваться в дескрипторе тома. |
Да | |
volumeAttributes.resourceGroup |
Укажите имя группы ресурсов Azure. | myResourceGroup | нет | Если это пусто, драйвер использует то же имя группы ресурсов, что и текущий кластер. |
volumeAttributes.storageAccount |
Укажите существующее имя учетной записи хранения Azure. | storageAccountName | Да | |
volumeAttributes.containerName |
Укажите существующее имя контейнера. | container | Да | |
volumeAttributes.protocol |
Укажите точку монтирования blobfuse или NFS версии 3. |
fuse, nfs |
нет | fuse |
| --- | Следующие параметры предназначены только для blobfuse | --- | --- | --- |
volumeAttributes.secretName |
Имя секрета, которое сохраняет имя и ключ учетной записи хранилища (применяется только для SMB). | нет | ||
volumeAttributes.secretNamespace |
Укажите пространство имен секрета для хранения ключа учетной записи. | default |
нет | Пространство имен PVC |
nodeStageSecretRef.name |
Укажите имя секрета, которое хранит одно из следующих значений:azurestorageaccountkeyazurestorageaccountsastokenmsisecretazurestoragespnclientsecret. |
нет | Существующее имя секрета в Kubernetes | |
nodeStageSecretRef.namespace |
Укажите пространство имен секрета. | Пространство имен Kubernetes | Да | |
| --- | Следующие параметры предназначены только для протокола NFS. | --- | --- | --- |
volumeAttributes.mountPermissions |
Укажите разрешения смонтированной папки. | 0777 |
нет | |
| --- | Следующие параметры предназначены только для параметра виртуальной сети NFS. | --- | --- | --- |
vnetResourceGroup |
Укажите группу ресурсов виртуальной сети, где размещена виртуальная сеть. | myResourceGroup | нет | Если ничего не указано, драйвер использует значение vnetResourceGroup, предусмотренное в конфигурационном файле облака Azure. |
vnetName |
Укажите имя виртуальной сети. | aksVNet | нет | Если ничего не указано, драйвер использует значение vnetName, предусмотренное в конфигурационном файле облака Azure. |
subnetName |
Укажите существующее имя подсети узла агента. | aksSubnet | нет | Если это пусто, драйвер обновит все подсети в виртуальной сети кластера. |
| --- |
Следующие параметры предназначены только для функции: blobfuse Проверка подлинности управляемого удостоверения и основного имени службы |
--- | --- | --- |
volumeAttributes.AzureStorageAuthType |
Укажите тип проверки подлинности. |
Key
SAS
MSI
SPN
|
нет | Key |
volumeAttributes.AzureStorageIdentityClientID |
Укажите идентификатор клиента идентификации. | нет | ||
volumeAttributes.AzureStorageIdentityResourceID |
Укажите идентификатор ресурса удостоверения. | нет | ||
volumeAttributes.MSIEndpoint |
Укажите конечную точку MSI. | нет | ||
volumeAttributes.AzureStorageSPNClientID |
Укажите идентификатор клиента служебного объекта Azure. | нет | ||
volumeAttributes.AzureStorageSPNTenantID |
Укажите идентификатор клиента тенанта SPN в Azure. | нет | ||
volumeAttributes.AzureStorageAADEndpoint |
Укажите конечную точку Microsoft Entra. | нет | ||
| --- | Следующие параметры предназначены только для функции: чтение ключа учетной записи blobfuse или маркера SAS из хранилища ключей | --- | --- | --- |
volumeAttributes.keyVaultURL |
Укажите DNS-имя Azure Key Vault. | {vault-name}.vault.azure.net | нет | |
volumeAttributes.keyVaultSecretName |
Укажите имя секрета Azure Key Vault. | Существующее название секрета в Azure Key Vault. | нет | |
volumeAttributes.keyVaultSecretVersion |
Версия секрета Azure Key Vault. | Существующая версия | нет | Если это пусто, драйвер использует текущую версию. |
Создайте контейнер для хранилища BLOB
При создании ресурса хранилища BLOB-объектов Azure для использования с AKS можно создать ресурс в группе ресурсов узла. Такой подход позволяет кластеру AKS получать доступ к ресурсу Blob-хранилища и управлять им.
Получите имя группы ресурсов узла кластера AKS с помощью
az aks showкоманды с параметром--query nodeResourceGroup.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsvВыходные данные команды будут выглядеть примерно так:
MC_myResourceGroup_myAKSCluster_eastusСоздайте контейнер для хранения BLOB-объектов, выполнив действия, описанные в разделе "Управление хранилищем BLOB-объектов", чтобы авторизовать доступ и создать контейнер.
Подключение тома
В этом разделе описано, как подключить постоянный том с помощью протокола NFS или Blobfuse.
Подключение хранилища Blob с помощью протокола NFS версии 3 не поддерживает аутентификацию с использованием ключа учетной записи. Кластер AKS должен находиться в той же или одноранговой виртуальной сети, что и узел агента. Единственным способом защиты данных в учетной записи хранения является использование виртуальной сети и других параметров безопасности сети. Для получения дополнительной информации о настройке доступа к учетной записи хранения через NFS см. статью «Монтирование Blob-хранилища с использованием протокола Network File System (NFS) 3.0».
В следующем примере показано, как подключить контейнер хранилища Blob как постоянный том с помощью протокола NFS.
Создайте файл с именем
pv-blob-nfs.yamlи вставьте следующий YAML. В объектеstorageClassизменитеresourceGroup,storageAccountиcontainerName.Замечание
volumeHandleзначение должно быть уникальным идентификатором тома для каждого идентичного контейнера BLOB-объектов хранилища в кластере. Символ#и/зарезервированы для внутреннего использования и не могут использоваться.apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: blob.csi.azure.com name: pv-blob spec: capacity: storage: 1Pi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain # If set as "Delete" container would be removed after pvc deletion storageClassName: azureblob-nfs-premium mountOptions: - nconnect=4 csi: driver: blob.csi.azure.com # make sure volumeid is unique for every identical storage blob container in the cluster # character `#` and `/` are reserved for internal use and cannot be used in volumehandle volumeHandle: account-name_container-name volumeAttributes: resourceGroup: resourceGroupName storageAccount: storageAccountName containerName: containerName protocol: nfsЗамечание
Хотя атрибут емкостиAPI Kubernetes является обязательным, это значение не используется драйвером CSI хранилища BLOB-объектов Azure, так как вы можете гибко записывать данные, пока не достигнете предела емкости учетной записи хранения. Значение атрибута
capacityиспользуется только для сопоставления размера между PVs и PVCs. Рекомендуется использовать вымышленное высокое значение. Модуль pod видит подключенный том с вымышленным размером 5 Петабайт.Создайте PV с помощью команды
kubectl create.kubectl create -f pv-blob-nfs.yamlСоздайте файл с именем
pvc-blob-nfs.yamlи вставьте следующий YAML. В разделеvolumeNameобновите значение, соответствующее имени PV, созданному на предыдущем шаге.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-blob spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-blob storageClassName: azureblob-nfs-premiumСоздайте ПВХ с помощью
kubectl createкоманды:kubectl create -f pvc-blob-nfs.yaml
Используйте постоянный том
В следующем YAML-файле создается pod, использующий PV или PVC с именем pvc-blob, созданный ранее, для монтирования хранилища Azure Blob на путь /mnt/blob.
Создайте файл с именем
nginx-pod-blob.yamlи вставьте его в следующий манифест YAML. Убедитесь, чтоclaimNameсоответствует ПВХ, созданному на предыдущем шаге при создании PV для NFS или Blobfuse.kind: Pod apiVersion: v1 metadata: name: nginx-blob spec: nodeSelector: "kubernetes.io/os": linux containers: - image: mcr.microsoft.com/oss/nginx/nginx:1.17.3-alpine name: nginx-blob volumeMounts: - name: blob01 mountPath: "/mnt/blob" readOnly: false volumes: - name: blob01 persistentVolumeClaim: claimName: pvc-blobСоздайте pod и подключите ПВЦ командой
kubectl create.kubectl create -f nginx-pod-blob.yamlСоздайте интерактивный сеанс оболочки с pod, используя следующую команду
kubectl exec, чтобы убедиться, что хранилище BLOB-объектов подключено правильно.kubectl exec -it nginx-blob -- df -hВаши выходные данные должны выглядеть следующим образом, показывая, что хранилище BLOB-объектов подключено по пути
/mnt/blob.Filesystem Size Used Avail Use% Mounted on ... blobfuse 14G 41M 13G 1% /mnt/blob ...