Настройка правил именования поддиректорий в NFS Shared Storage Class
Содержание
Обзор функции
Каждый PersistentVolumeClaim (PVC), созданный с использованием NFS Shared Storage Class, соответствует поддиректории внутри NFS-шары. По умолчанию поддиректории именуются по шаблону ${pv.metadata.name} (то есть именем PersistentVolume). Если имя, сгенерированное по умолчанию, не соответствует вашим требованиям, вы можете настроить правила именования поддиректорий. В этом документе приведены методы конфигурации и лучшие практики для кастомизации соглашения об именах.
Сценарии использования
На стороне NFS-сервера имена поддиректорий могут использоваться для идентификации соответствующих PersistentVolumeClaims (PVC) в Kubernetes. Это позволяет администраторам контролировать использование хранилища каждым PVC, упрощая операционное управление.
Предварительные требования
- Должен быть настроен NFS-сервер, а также получены методы доступа к нему. В настоящее время платформа поддерживает три версии протокола NFS:
v3,v4.0иv4.1. Вы можете выполнить командуnfsstat -sна стороне сервера, чтобы проверить информацию о версии.
Процедура
Развертывание плагина NFS Shared Storage
См. Deploying the NFS Shared Storage Plugin.
Создание NFS Shared Storage Class
-
Перед нажатием 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 изменить нельзя.