Skip to main content

EFS (Elastic File System)

In SleakOps, AWS EFS (Elastic File System) is primarily used for managing the volumes of Projects. EFS provides a scalable and elastic file system that can be mounted on multiple EC2 instances, allowing pods in a Kubernetes cluster to share the same file system efficiently.

FAQs

What is AWS EFS?

AWS EFS is a cloud file storage service from AWS that provides shared and scalable storage for applications and services. It is ideal for workloads that require concurrent access to a common file system across different services.

How is EFS used in SleakOps?

In SleakOps, EFS is utilized for Project volumes. Each Project can have one or more volumes, which are implemented as EFS file systems within the EKS cluster, providing shared storage that can be accessed by different services and pods.

What are the benefits of using EFS?

EFS offers several advantages, making it a powerful option for shared storage in distributed applications:

  • Scalability: Automatically scales as files are added or removed.
  • High availability: Designed to be highly available and durable, with data replicated across multiple availability zones.
  • Concurrent access: Multiple EC2 instances can mount the same EFS file system simultaneously, supporting workloads requiring concurrent access.

What is the EFS Retain Policy in SleakOps?

SleakOps enforces a retain policy for EFS volumes, which prevents the deletion of an EFS volume in AWS when a volume is removed from SleakOps. This ensures data persistence even if the volume is detached from the cluster.

How do I configure volumes with EFS in SleakOps?

To set up and manage volumes using EFS within SleakOps, follow the instructions in the Volumes documentation. This guide covers creating and managing volumes for your Projects and configuring EFS settings within your cluster.

How do I use EFS volumes on my own charts?

To use EFS Volumes you must pass to the chart values the 'StorageClass' name 'efs-sc-delete' or 'efs-sc-retain' depending of which retain policy is needed.

You can check your current StorageClasses

kubectl get storageclass --all-namespaces

When do I use EFS?

You should use EFS when you need a volume that will be mounted to more than one pod, for example an application running in the Cluster with two replicas or more.