rohitkhot1026 / efs-eks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to configure EKS Persistent Storage with EFS Amazon service for your Kubernetes cluster to use

What’s In This Document

Alt Text

Alt Text

Alt Text

Alt Text

Get important elements after creating EFS

  • File System ID: fs-5cc93c7c
  • DNS Name: fs-5cc93c7c.efs.us-east-1.amazonaws.com

Source: https://github.com/vumdao/efs-eks

2.1 Create EFS provisioner

root@ctl:~/efs-eks-demo# kubectl apply -f efs-provisioner-deployment.yaml 
namespace/demo created
serviceaccount/efs-provisioner created
clusterrole.rbac.authorization.k8s.io/efs-provisioner created
clusterrolebinding.rbac.authorization.k8s.io/efs-provisioner created
role.rbac.authorization.k8s.io/leader-locking-efs-provisioner created
rolebinding.rbac.authorization.k8s.io/leader-locking-efs-provisioner created
deployment.apps/efs-provisioner created
configmap/efs-provisioner-config created

root@ctl:~/efs-eks-demo# kubectl get pod -n demo
NAME                               READY   STATUS    RESTARTS   AGE
efs-provisioner-84bbf9b5fc-zx5hs   1/1     Running   0          30s

root@ctl:~/efs-eks-demo# kubectl get configmap -n demo
NAME                     DATA   AGE
efs-provisioner-config   4      62s

2.2 Create PVC

root@ctl:~/efs-eks-demo# kubectl apply -f efs-pvc.yaml 
storageclass.storage.k8s.io/efs-sc created
persistentvolumeclaim/efs-demo-claim created

root@ctl:~/efs-eks-demo# kubectl get pvc -n demo
NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
efs-demo-claim   Bound    pvc-e00f83c9-4168-41ba-ae8b-08bc57f466e4   100Mi      RWX            aws-efs        10s

root@ctl:~/efs-eks-demo# kubectl get storageclass
NAME            PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
efs-sc          aws-efs                 Delete          Immediate           false                  27s

2.3 Deploying the stateful services writer and reader the EFS volume

root@ctl:~/efs-eks-demo# kubectl apply -f efs-writer.yaml 
pod/efs-writer created

root@ctl:~/efs-eks-demo# kubectl apply -f efs-reader.yaml 
pod/efs-reader created

root@ctl:~/efs-eks-demo# kubectl get pod -n demo
NAME                               READY   STATUS    RESTARTS   AGE
efs-provisioner-84bbf9b5fc-zx5hs   1/1     Running   0          3m6s
efs-reader                         1/1     Running   0          7s
efs-writer                         1/1     Running   0          14s

2.4 Verify that the efs-reader pod is able to successfully read the same data from the shared persistent volume

root@ctl:~/efs-eks-demo# kubectl exec -it efs-writer -n demo -- tail /shared/out.txt
efs-writer.demo - Sun Dec 13 16:59:04 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:09 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:14 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:19 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:24 UTC 2020

root@ctl:~/efs-eks-demo# kubectl exec -it efs-reader -n demo -- tail /shared/out.txt
efs-writer.demo - Sun Dec 13 16:59:04 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:09 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:14 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:19 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:24 UTC 2020
efs-writer.demo - Sun Dec 13 16:59:29 UTC 2020

Visit wwww.cloudopz.co to get more

About