Skip to content

Overview

In this self-paced exercise, you will first provision an Amazon EKS cluster that will be used to connect to to an Amazon Elastic File System. You will then create a custom cluster blueprint which contains the AWS EFS CSI Driver as an addon. You will then follow that up by deploying a test workload that will use the EFS CSI Driver to write data to an EFS file system.

Overview

Amazon Elastic File System (Amazon EFS) provides a simple, scalable, fully managed elastic NFS file system for use with Amazon EKS. It is built to scale on demand to petabytes without disrupting applications, growing and shrinking automatically as you add and remove files, eliminating the need to provision and manage capacity to accommodate growth. Users can leverage EFS based file systems to create shared storage between pods within and across AWS Availability Zones. EFS can also help to make Kubernetes applications scalable and highly available. This is possible because all data written to EFS is written to multiple AWS Availability Zones. As a result, scaled pods can share the same data in case of dependency on the same data across pods.

flowchart LR
    efs[EFS<br> File System]
    subgraph cluster[EKS Cluster]
    direction TB
    D[Test App] -->pvc 
    E[Test App] --> pvc
    pvc[Persistent Volume Claim<br>PVC]-->pv
    pv[Persistent Volume<br>PV]
    end
    pv --> efs

    classDef box fill:#fff,stroke:#000,stroke-width:1px,color:#000;
    classDef cluster fill:#fff,stroke:#bbb,stroke-width:2px,color:#326ce5;
    class efs,D,E,pvc,pv,cluster box

What Will You Do by Part

Part What will you do?
1 Setup and Configuration
2 Provision an Amazon EKS Cluster
3 Create a cluster Blueprint with the EFS CSI Driver
4 Deploy a test Workload to the Amazon EKS Cluster
5 Deprovision the EKS cluster

Assumptions

  • You have access to an Amazon AWS account with privileges to create an IAM Role with the default Full IAM Policy to allow provisioning of resources on your behalf as part of the EKS cluster lifecycle.
  • You have a Git client on your laptop
  • You have the AWS CLI installed and configured