Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
Как проверить работоспособность модуля?
Для этого необходимо проверить состояние подов в неймспейсе d8-csi-nfs. Все поды должны быть в состоянии Running или Completed и запущены на всех узлах. Проверьте командой:
d8 k -n d8-csi-nfs get pod -owide -wВозможно ли изменение параметров NFS-сервера уже созданных PV?
Нет, данные для подключения к NFS-серверу сохраняются непосредственно в манифесте PV, и не подлежат изменению. Изменение StorageClass также не повлечёт изменений настроек подключения в уже существующих PV.
Как делать снимки томов?
Перед созданием снимков ознакомьтесь с ограничениями в разделе «Создание снимков томов».
В csi-nfs снимки создаются путём архивирования директории тома. Архив сохраняется в корне директории NFS-сервера, указанной в параметре spec.connection.share.
-
Создайте снимки томов. Для этого выполните следующую команду, указав нужные параметры:
d8 k apply -f - <<EOF apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: my-snapshot namespace: <имя неймспейса, в котором находится PVC> spec: volumeSnapshotClassName: csi-nfs-snapshot-class source: persistentVolumeClaimName: <имя PVC, для которого необходимо создать снимок> EOF -
Проверьте состояние созданного снимка командой:
d8 k get volumesnapshot
Эта команда покажет список всех снимков и их текущее состояние.
Как выбрать метод очистки тома перед удалением PV?
Возможность очистки тома доступна только в коммерческих редакциях Deckhouse Kubernetes Platform.
На удаляемом томе могут остаться файлы с пользовательскими данными. Эти файлы будут удалены и не будут доступны другим пользователям через NFS.
Однако данные удалённых файлов могут оказаться доступными другим клиентам, если сервер предоставит доступ к своему хранилищу на уровне блочных устройств.
Выбрать метод очистки тома перед удалением поможет параметр volumeCleanup.
Эта опция не влияет на файлы, уже удалённые клиентским приложением.
Эта опция влияет только на команды, отправляемые по протоколу NFS. Выполнение этих команд на стороне сервера определено:
- сервисом NFS-сервера;
- файловой системой;
- уровнем блочных устройств и их виртуализации (например, LVM);
- самими физическими устройствами.
Убедитесь в доверенности сервера. Не отправляйте деликатные данные на серверы, в которых нет уверенности.
Метод SinglePass
Используется, если для параметра volumeCleanup задано значение RandomFillSinglePass.
Содержимое файлов переписывается случайной последовательностью перед удалением. Случайная последовательность передаётся по сети.
Метод ThreePass
Используется, если для параметра volumeCleanup задано значение RandomFillThreePass.
Содержимое файлов трижды переписывается случайной последовательностью перед удалением. Три случайных последовательности передаются по сети.
Метод Discard
Используется, если для параметра volumeCleanup задано значение Discard.
Многие файловые системы реализуют поддержку твердотельных накопителей, позволяя освободить место, занятое файлом, на блочном уровне без записи новых данных для увеличения срока службы твердотельного накопителя. Однако не все накопители гарантируют недоступность данных освобождённых блоков.
Если для volumeCleanup установлено значение Discard, содержимое файлов помечается как свободное через системный вызов falloc с флагом FALLOC_FL_PUNCH_HOLE. Файловая система освободит полностью используемые файлом блоки через вызов blkdiscard, а остальное место будет перезаписано нулями.
Преимущества этого метода:
- объём трафика не зависит от размера файлов, а только от их количества;
- метод может обеспечить недоступность старых данных при некоторых конфигурациях сервера;
- работает как для жёстких дисков, так и для твердотельных накопителей;
- позволяет увеличить время жизни твердотельного накопителя.
Почему не удаляются PV, созданные в StorageClass с поддержкой RPC-with-TLS, а вместе с ними и каталоги <имя PV> на NFS-сервере?
Если ресурс NFSStorageClass был настроен с поддержкой RPC-with-TLS, может возникнуть ситуация, когда PV не удастся удалить.
Это происходит из-за удаления секрета (например, после удаления NFSStorageClass), который хранит параметры монтирования. В результате контроллер не может смонтировать NFS-директорию для удаления директории <имя PV>.
Как в настройках ModuleConfig в параметре tlsParameters.ca разместить несколько CA?
Объедините сертификаты в один файл и закодируйте результат в Base64. Примеры:
- Два CA
- Три CA
cat CA1.crt CA2.crt | base64 -w0cat CA1.crt CA2.crt CA3.crt | base64 -w0Какие требования к дистрибутиву Linux для развёртывания NFS-сервера с поддержкой RPC-with-TLS?
Для развёртывания NFS-сервера с поддержкой RPC-with-TLS дистрибутив должен удовлетворять следующим требованиям:
- Ядро должно быть собрано с включёнными параметрами
CONFIG_TLSиCONFIG_NET_HANDSHAKE; - Пакет nfs-utils (в дистрибутивах основанных на Debian - nfs-common) должен быть >= 2.6.3.