From 442e0c86d07e2f08acd49cbed0c4b90145f5e470 Mon Sep 17 00:00:00 2001 From: Lisa Pettyjohn Date: Wed, 23 Aug 2023 08:21:34 -0400 Subject: [PATCH] OCPBUGS-17558 & 17559: Adding NFS support to Azure File CSI --- ...persistent-storage-csi-azure-file-nfs.adoc | 40 +++++++++++++++++++ .../persistent-storage-csi-azure-file.adoc | 4 +- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 modules/persistent-storage-csi-azure-file-nfs.adoc diff --git a/modules/persistent-storage-csi-azure-file-nfs.adoc b/modules/persistent-storage-csi-azure-file-nfs.adoc new file mode 100644 index 000000000000..9da2e7cffec7 --- /dev/null +++ b/modules/persistent-storage-csi-azure-file-nfs.adoc @@ -0,0 +1,40 @@ +// Module included in the following assemblies: +// +// * storage/container_storage_interface/persistent_storage-csi-azure-file.adoc +// + +:_content-type: CONCEPT +[id="persistent-storage-csi-azure-file-nfs_{context}"] += NFS support + +{product-title} supports the Azure File Container Storage Interface (CSI) Driver Operator with Network File System (NFS) with the following restrictions: + +* Creating pods with Azure File NFS volumes that are scheduled to the control plane node causes the mount to be denied. ++ +To work around this issue: If your control plane nodes are schedulable, and the pods can run on worker nodes, use `nodeSelector` or Affinity to schedule the pod in worker nodes. + +* FS Group policy behavior: ++ +[IMPORTANT] +===== +Azure File CSI with NFS does not honor the `fsGroupChangePolicy` requested by pods. Azure File CSI with NFS applies a default `OnRootMismatch` FS Group policy regardless of the policy requested by the pod. +===== + +* The Azure File CSI Operator does not automatically create a storage class for NFS. You must create it manually. Use a file similar to the following: ++ +[source, yaml] +---- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: <1> +provisioner: file.csi.azure.com <2> +parameters: + protocol: nfs <3> + skuName: Premium_LRS # available values: Premium_LRS, Premium_ZRS +mountOptions: + - nconnect=4 +---- +<1> Storage class name. +<2> Specifies the Azure File CSI provider. +<3> Specifies NFS as the storage backend protocol. diff --git a/storage/container_storage_interface/persistent-storage-csi-azure-file.adoc b/storage/container_storage_interface/persistent-storage-csi-azure-file.adoc index 263e90c05c8c..f7f16ed5059b 100644 --- a/storage/container_storage_interface/persistent-storage-csi-azure-file.adoc +++ b/storage/container_storage_interface/persistent-storage-csi-azure-file.adoc @@ -17,7 +17,7 @@ To create CSI-provisioned PVs that mount to Azure File storage assets, {product- * The _Azure File CSI driver_ enables you to create and mount Azure File PVs. The Azure File CSI driver supports dynamic volume provisioning by allowing storage volumes to be created on-demand, eliminating the need for cluster administrators to pre-provision storage. -Azure File CSI Driver Operator does not support: +Azure File CSI Driver Operator does _not_ support: * Virtual hard disks (VHD) @@ -27,6 +27,8 @@ Azure File CSI Driver Operator does not support: For more information about supported features, see xref:../../storage/container_storage_interface/persistent-storage-csi.adoc#csi-drivers-supported_persistent-storage-csi[Supported CSI drivers and features]. +include::modules/persistent-storage-csi-azure-file-nfs.adoc[leveloffset=+1] + include::modules/persistent-storage-csi-about.adoc[leveloffset=+1] .Additional resources