На основе драйвера хранения сообщества NFS CSI (Container Storage Interface) предоставляется возможность доступа к нескольким системам или аккаунтам хранения NFS.
В отличие от традиционной клиент-серверной модели доступа NFS, общее хранилище NFS использует плагин сообщества NFS CSI, который более соответствует принципам проектирования Kubernetes и позволяет клиентам обращаться к нескольким серверам.
v3
, v4.0
и v4.1
. Вы можете выполнить команду nfsstat -s
на стороне сервера для проверки информации о версии.Войдите в систему как Administrator.
В левой навигационной панели нажмите Storage > StorageClasses.
Нажмите Create StorageClass.
Справа от NFS CSI нажмите Deploy, чтобы перейти на страницу Plugins.
Справа от плагина Alauda Container Platform NFS CSI
нажмите ⋮ > Install.
Дождитесь, пока статус развертывания не изменится на Deployment Successful, после чего развертывание будет завершено.
Alauda Container Platform NFS CSI
является Non-config plugin, имя модуля — nfs
Нажмите Create Storage Class.
Примечание: Следующий контент представлен в виде формы, но вы также можете выполнить операцию с помощью YAML.
Выберите NFS CSI и нажмите Next.
Следуйте инструкциям ниже для настройки соответствующих параметров.
Параметр | Описание |
---|---|
Name | Имя класса хранения. Должно быть уникальным в пределах текущего кластера. |
Service Address | Адрес доступа к NFS серверу. Например: 192.168.2.11 . |
Path | Путь монтирования файловой системы NFS на узле сервера. Например: /nfs/data . |
NFS Protocol Version | В настоящее время поддерживаются три версии: v3 , v4.0 и v4.1 . |
Reclaim Policy | Политика восстановления для постоянного тома. - Delete: При удалении запроса на постоянный том (PersistentVolumeClaim) связанный постоянный том также будет удалён. - Retain: Даже при удалении запроса на постоянный том связанный постоянный том останется. |
Access Modes | Все режимы доступа, поддерживаемые текущим хранилищем. При последующем объявлении постоянных томов можно выбрать только один из этих режимов для монтирования. - ReadWriteOnce (RWO): Может быть смонтирован как для чтения и записи одним узлом. - ReadWriteMany (RWX): Может быть смонтирован как для чтения и записи несколькими узлами. - ReadOnlyMany (ROX): Может быть смонтирован как только для чтения несколькими узлами. |
Allocated Projects | Пожалуйста, выделите проекты, которые могут использовать этот тип хранилища. Если в данный момент нет проектов, нуждающихся в этом типе хранилища, вы можете не выделять проекты сейчас и обновить их позже. |
subDir | Каждый PersistentVolumeClaim (PVC), созданный с использованием общего класса хранения NFS, соответствует подкаталогу внутри общего ресурса NFS. По умолчанию подкаталоги именуются по шаблону ${pv.metadata.name} (то есть именем PersistentVolume). Если имя, сгенерированное по умолчанию, не соответствует вашим требованиям, вы можете настроить правила именования подкаталогов. |
Поле subDir
поддерживает только следующие три переменные, которые автоматически разрешаются драйвером NFS CSI:
${pvc.metadata.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 удаляет только последний уровень директории ${pv.metadata.name}
при удалении PVC, оставляя родительские директории сиротами на NFS сервере.
После подтверждения правильности конфигурации нажмите Create.