Оператор Kubernetes в этом проекте находится в Альфа версия. Используйте на свой риск
NFS оператор Добавляет три важные функции для NFS в Kubernetes. Это позволяет установить NFS Export владение/разрешения , включает PVC AutoExpansion и уменьшает количество ручных Определения ресурсов Анкет Он основан на Rook NFS v1.6 и Оператор Ansible SDK Анкет Таким образом, новые функции в дополнение к тем, что в Rook NFS. Дополнительные функции, которые он добавляет на вершине nfs nfs:
- Он может установить владение и разрешения для экспорта сервера (NFS)
- Он способен автоматически погружаться/настраивать значение (NFS) Server Size PVC
- Он автоматически создает StorageClass с сервером (NFS)
Есть некоторые ограничения по сравнению с NFS Rook:
- Только один экспорт/ПВХ на (NFS) сервер
Предварительные условия
Предварительные условия такие же, как Rook NFS Анкет Следовательно, Rook NFS v1.6 должен быть установлен Анкет
Установить
Следуйте следующим шагам, чтобы установить оператор NFS, а также оператор Rook NFS v1.6. Обратите внимание, что CRS должен быть установлен в The Namespace Rook-NFS . Это пространство имен по умолчанию для (NFS) серверов в установке оператора Rook NFS:
# install rook nfs operator v1.6 make deploy-rook # install this operator make deploy # add a nfs server cr/object kubectl -n rook-nfs apply -f config/samples/nfs_v1alpha1_server.yaml # follow/check nfs operator logs kubectl -n nfs-operator-system logs -l control-plane=controller-manager -c manager -f # follow sample nfs server cr/object status kubectl -n rook-nfs get Server server-sample -o yaml -w
Удалить
Следуйте следующим шагам, чтобы удалить его.
# delete the nfs server cr/object # CAUTION with data loss kubectl -n rook-nfs delete -f config/samples/nfs_v1alpha1_server.yaml # uninstall this operator make undeploy # uninstall rook nfs operator v1.6 make undeploy-rook
Параметры конфигурации
Для образца CRD см. образец
Владение/разрешения
Чтобы установить владение папками экспорта, установите server_export_userid и server_export_groupid . Для разрешений на экспорт папки, установите server_export_permissions Анкет Например:
spec: # Ownership/permissions ## Set export folder userid to 48 server_export_userid: 48 ## Set export folder groupid to 0 server_export_groupid: 0 ## Set export folder permissions to 775 server_export_permissions: 755
Автоэкспозиция
Когда AutoExpansion включена ( server_pvc_autoexpansion ), если хранилище составляет менее 20% или ниже server_pvc_autoexpansion_gib , Размер хранения из ПВХ автоматически увеличивается в соответствии с server_pvc_autoexpansion_gib . Тем не менее, это не будет приращением за пределы server_pvc_autoexpansion_cap_gib (См. Связанный Функция ). Ниже приведен пример конфигурации:
spec: # Autoexpansion ## Enable autoexpansion server_pvc_autoexpansion: true ## Every time autoexpansion is required, increment 5 GiB server_pvc_autoexpansion_gib: 5 ### But no more than 250 GiB server_pvc_autoexpansion_cap_gib: 250
Пожалуйста, вы должны принять во внимание следующее:
- Не все типы хранилища совместимы. Например, hostpath нет.
- Cubernetes Cluster и (NFS) Сервер ПВХ должны поддерживать расширение объемов
- В старых версиях K8S (NFS) сервер POD может быть перезагружен при включении AutoExpansion, если Kubernetes функционирует Gate ExpandinusepersistentVolumes является ложным. См.: Kubernetes Особенности Гейтс
StorageClass
Класс автоматически создается с суффиксом -NFS-SC Анкет Если CR создается с именем: Сервер-выборка , класс хранения по имени Сервер-Sample-NFS-SC также создается и показан в статусе CR.
Расширенные опции
Для расширенных параметров конфигурации, доступных для спецификации CR, посмотрите на варианты
Хотите внести свой вклад?
- Используйте GitHub выпуски Чтобы сообщить об ошибках, отправить улучшение, новые запросы на функции и вопросы
- Присоединяйтесь Наша телеграмма
Оригинал: «https://dev.to/jobcespedes/nfs-operator-with-extra-functionality-on-top-of-rook-nfs-10j8»