Каждый PersistentVolumeClaim (PVC), созданный с использованием NFS Shared Storage Class, соответствует поддиректории внутри NFS-шары. По умолчанию поддиректории именуются по шаблону ${pv.metadata.name}
(то есть именем PersistentVolume). Если имя, сгенерированное по умолчанию, не соответствует вашим требованиям, вы можете настроить правила именования поддиректорий. В этом документе приведены методы конфигурации и лучшие практики для кастомизации соглашения об именах.
На стороне NFS-сервера имена поддиректорий могут использоваться для идентификации соответствующих PersistentVolumeClaims (PVC) в Kubernetes. Это позволяет администраторам контролировать использование хранилища каждым PVC, упрощая операционное управление.
v3
, v4.0
и v4.1
. Вы можете выполнить команду nfsstat -s
на стороне сервера, чтобы проверить информацию о версии.См. Deploying the NFS Shared Storage Plugin.
Перед нажатием Create переключитесь в режим просмотра YAML и добавьте конфигурацию subDir в раздел parameters для определения правил именования поддиректорий.
Примечание:
subDir
поддерживает только следующие три переменные, которые автоматически разрешаются NFS CSI Driver:
${pvc.metadata.namespace}
: Namespace PVC.${pvc.metadata.name}
: Имя PVC.${pv.metadata.name}
: Имя PV.subDir
ДОЛЖНО гарантировать уникальность имен поддиректорий. В противном случае несколько PVC могут использовать одну и ту же поддиректорию, что приведёт к конфликтам данных.Рекомендуемые конфигурации:
${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
<cluster-identifier>_${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
Предназначено для нескольких Kubernetes кластеров, использующих один и тот же NFS-сервер. Такая конфигурация обеспечивает чёткое различие кластеров за счёт включения идентификатора кластера (например, имени кластера) в правила именования поддиректорий.
Не рекомендуемые конфигурации:
${pvc.metadata.namespace}-${pvc.metadata.name}-${pv.metadata.name}
Избегайте использования -
в качестве разделителей, так как это может привести к неоднозначности имён поддиректорий. Например: если два PVC называются ns-1/test
и ns/1-test
, оба могут сгенерировать одинаковую поддиректорию ns-1-test
.
${pvc.metadata.namespace}/${pvc.metadata.name}/${pv.metadata.name}
НЕ настраивайте subDir для создания вложенных директорий. NFS CSI Driver удаляет только директорию последнего уровня ${pv.metadata.name}
при удалении PVC, оставляя родительские директории сиротами на NFS-сервере.
Нажмите Create.
Существующий StorageClass изменить нельзя.