Recently, Amazon announced that Amazon Elastic Kubernetes Service (EKS) pods running on AWS Fargate can now mount Amazon Elastic File System (EFS) file systems. The update is a follow-up to AWS customers requesting support for EFS with Fargate when using Amazon Elastic Kubernetes Service (EKS).
AWS Fargate is a serverless compute engine for software containers, which is available on both Amazon EKS and Amazon Elastic Container Service (ECS) - and can be an alternative to a fully-managed container orchestration service. Based on requirements from customers using Fargate for data persistence and shared storage of containerized applications, Amazon announced EFS support for Fargate on ECS in April 2020. and now the there is EFS support for running EKS on Fargate.
EFS provides a simple, scalable, elastic, fully-managed shared file system for use with AWS cloud services and helps Kubernetes applications be highly available since all data written to EFS is written to multiple AWS Availability Zones. The service has a Container Storage Interface (CSI) driver – which implements the CSI specification for container orchestrators to manage the lifecycle of Amazon EFS file systems. AWS Fargate can use the driver to automatically mount an EFS file system requested by a pod running on Fargate, without the need for manual driver installation.
Harunobu Kameda, a product marketing evangelist at AWS, wrote in a blog post:
The Amazon EFS CSI driver makes it easy to configure elastic file storage for both EKS and self-managed Kubernetes clusters running on AWS using standard Kubernetes interfaces. If a Kubernetes pod is terminated and relaunched, the CSI driver reconnects the EFS file system, even if the pod is relaunched in a different AWS Availability Zone.
In a nutshell, customers do not have to spend time and resources on maintaining the CSI driver – it sits within the Fargate stack. Furthermore, their applications such as machine learning frameworks like MXNet and Tensorflow, and data science tools like Jupyter and Airflow, can benefit from Kubernetes and EFS.
Holger Mueller, principal analyst and vice president at Constellation Research Inc., told InfoQ:
Containers are the platform that both developers and enterprises want to build their next-generation applications on. Kubernetes has for now won the container platform wars, so now it is all about making container deployment easier, and that is what Fargate does at Amazon. Containers have, despite all their success, lacked file system support, and that is why the EFS support using EKS is crucial for Amazon centric developers.
Currently, the Amazon EFS support is available for newly created EKS clusters with Kubernetes version 1.17, and Amazon is planning to roll out support for this feature with additional Kubernetes versions on EKS in the coming weeks. Furthermore, the update is available in all AWS regions where Fargate with EKS is available.