Создание Shared Storage Class для NFS
На основе community-драйвера NFS CSI (Container Storage Interface) предоставляется возможность доступа к нескольким NFS системам хранения или аккаунтам.
В отличие от традиционной клиент-серверной модели доступа к NFS, Shared Storage NFS использует community-плагин NFS CSI (Container Storage Interface), который лучше соответствует принципам проектирования Kubernetes и позволяет клиентам обращаться к нескольким серверам.
Содержание
Предварительные требованияРазвертывание плагина Alauda Container Platform NFS CSIРазвертывание через веб-консольРазвертывание через YAMLСоздание Shared Storage Class для NFSПредварительные требования
- Должен быть настроен NFS сервер, а также получены методы доступа к нему. В настоящее время платформа поддерживает три версии протокола NFS:
v3,v4.0иv4.1. Вы можете выполнить командуnfsstat -sна стороне сервера для проверки версии.
Развертывание плагина Alauda Container Platform NFS CSI
Развертывание через веб-консоль
-
Войдите в систему как Administrator.
-
В левой навигационной панели нажмите Storage > StorageClasses.
-
Нажмите Create StorageClass.
-
Справа от NFS CSI нажмите Deploy, чтобы перейти на страницу Plugins.
-
Справа от плагина
Alauda Container Platform NFS CSIнажмите ⋮ > Install. -
Дождитесь, пока статус развертывания не изменится на Deployment Successful, после чего завершите развертывание.
Развертывание через YAML
Alauda Container Platform NFS CSI является Non-config plugin, имя модуля — nfs
Создание Shared Storage Class для NFS
-
Нажмите Create Storage Class.
Примечание: Следующий контент представлен в виде формы, но вы также можете выполнить операцию с помощью YAML.
-
Выберите NFS CSI и нажмите Next.
-
Настройте параметры согласно следующим инструкциям.
NOTEПоле
subDirподдерживает только следующие три переменные, которые автоматически разрешаются драйвером NFS CSI:${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 удаляет только последний уровень директории${pv.metadata.name}при удалении PVC, оставляя родительские директории сиротами на NFS сервере.
-
После подтверждения правильности конфигурации нажмите Create.