Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Add NFS feature description #918

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions docs/user/00-20-nfs.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,61 @@
# NFS

## Overview

The Cloud Manager module provides a Network File System (NFS) feature which allows you to create ReadWriteMany (RWX) volumes. RWX volumes can be used by multiple workloads.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ngrkajac please provide the sentence about the standard setup and the benefit of the NFS feature over the standard approach

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will wait for Nikola's comment here as the product owner. But what you mentioned above is clear and on the point. NFS is not the feature here, it is just the protocol. ReadWriteMany is the feature, and as you mentioned RWX volumes can be used by multiple workloads. While regular persistent disk volumes can't be shared and can be used by only a single workload.


When you create an NFS instance in Kyma, you depend on the cloud provider of your Kyma cluster. The cloud provider in use determines the exact implementation.

Cloud Manager module supports the NFS feature of two cloud providers:

* Google Cloud's [Filestore](https://cloud.google.com/filestore?hl=en)
* Amazon Web Services [Amazon Elastic File System](https://aws.amazon.com/efs/)

You can configure Cloud Manager's NFS instances using the NFS custom resource corresponding with the cloud provider for your Kyma cluster, namely GcpNfsVolume CR or AwsNfsVolume CR.

## Prerequisites

To instantiate NFS, an IpRange CR must exist in the Kyma cluster. IpRange defines network address space reserved for your cloud provider's NFS resources. If you don't create the IpRange CR manually, Cloud Manager creates a default IpRange CR with the default address space and Classless Inter-Domain Routing (CIDR) selected. For more information, see [IpRange Custom Resoucre](./resources/04-10-iprange.md).

## Lifecycle

GcpNfsVolume and AwsNfsVolume are namespace-level CRs. Once you create a GcpNfsVolume or AwsNfsVolume resource, the following are also created automatically:

* IpRange CR
* IpRange is a cluster-level CR.
* Only one IpRange CR can exist per cluster.
* If you don't want the default IpRange to be used, create one manually.
* Persistent Volume (PV)
* PV is a cluster-level piece of storage.
* The PV uses a unique name based on the NFS instance status ID.
* The PV references the instantiated NFS in the respective cloud provider.
* Persistent Volume Claim (PVC)
* PVC is a namespace-level resource created in the same namespace as the IpRange CR.
* By default, the PVC's name is the same as the name of your NFS instance unless you specify a different name.
* The PVC references the automatically created PV.

## Cloud Providers' Specifics

### Google Cloud Kyma Clusters

Kyma clusters provisioned on Google Cloud use Filestore as the underlying NFS. See the following list of all CRs available in the Cloud Manager module dedicated to Google Cloud Filestore:

* GcpNfsVolume CR
* GcpNfsVolumeBackup
* GcpNfsBackupSchedule
* GcpNfsVolumeRestore

### Amazon Web Services Kyma Cluster

Kyma clusters provisioned on Amazon Web Services use Amazon Elastic File System. See the following list of CRs available in the Cloud Manager module dedicated to Amazon Elastic File System:

* AwsNfsVolume CR
* AwsNfsVolumeBackup
* AwsNfsBackupSchedule
* AwsNfsVolumeRestore

## Related information

* [Cloud Manager Resources: NFS](./resources/README.md#nfs).
* [Tutorials](./tutorials/README.md).
* Pricing (link TBD)
Loading