Как проверить работоспособность модуля?

Для этого необходимо проверить состояние подов в пространстве имён d8-csi-nfs. Все поды должны быть в состоянии Running или Completed, и запущены на всех узлах. Проверить можно командой:

1kubectl -n d8-csi-nfs get pod -owide -w

Возможно ли изменение параметров NFS-сервера уже созданных PV?

Нет, данные для подключения к NFS-серверу сохраняются непосредственно в манифесте PV, и не подлежат изменению. Изменение StorageClass также не повлечет изменений настроек подключения в уже существующих PV.

Как делать снимки томов (снапшоты)?

В csi-nfs снимки создаются путем архивирования папки тома. Архив сохраняется в корне папки NFS-сервера, указанной в параметре spec.connection.share.

  1. Включите snapshot-controller:

    1kubectl apply -f -<<EOF
    2apiVersion: deckhouse.io/v1alpha1
    3kind: ModuleConfig
    4metadata:
    5  name: snapshot-controller
    6spec:
    7  enabled: true
    8  version: 1
    9EOF
    
  2. Создайте снимки томов. Для этого выполните следующую команду, указав нужные параметры:

    1kubectl apply -f -<<EOF
    2apiVersion: snapshot.storage.k8s.io/v1
    3kind: VolumeSnapshot
    4metadata:
    5  name: my-snapshot
    6  namespace: <имя namespace, в котором находится PVC>
    7spec:
    8  volumeSnapshotClassName: csi-nfs-snapshot-class
    9  source:
    10    persistentVolumeClaimName: <имя PVC, для которого необходимо создать снимок>
    11EOF
    
  3. Проверьте состояние созданного снимка командой:

    1kubectl get volumesnapshot
    

Эта команда покажет список всех снимков и их текущее состояние.

Почему не удаляются PV созданные в StorageClass с поддержкой RPC-with-TLS, а вместе с ними и каталоги <имя PV> на NFS сервере?

Если ресурс NFSStorageClass был настроен с поддержкой RPC-with-TLS, может возникнуть ситуация, когда PV не удастся удалить. Это происходит из-за удаления секрета (например, после удаления NFSStorageClass), который хранит параметры монтирования. В результате контроллер не может смонтировать NFS-папку для удаления папки <имя PV>.

Как в настройках ModuleConfig в параметре tlsParameters.ca разместить несколько CA?

  • для двух CA
1cat CA1.crt CA2.crt | base64 -w0
  • для трех CA
1cat CA1.crt CA2.crt CA3.crt | base64 -w0
  • и т.д.

Какие требования к Linux дистрибутиву для разворачивания NFS-сервера с поддержкой RPC-with-TLS?

  • Ядро должно быть собрано с включенными параметрами CONFIG_TLS и CONFIG_NET_HANDSHAKE;
  • Пакет nfs-utils (в дистрибутивах основанных на Debian - nfs-common) должен быть >= 2.6.3.