Recently I wanted to do a Jenkins deployment using the Jenkins community Helm chart. Also I wanted to use a proper storage mount for my Jenkins storage so that I can make sure my build data is safe.

In Amazon, We can use either EBS or EFS storage for this kind of work. But any EBS mount to work your EC2 instances and Storage should reside on the same AWS availability zone. For a Kubernetes cluster that runs on multiple availability zones, this comes as a bottleneck. Other hand EFS doesn’t have such restrictions and can be mounted over different availability zones.

My Kubernetes clusters run on several availability zones and configured to auto scale. Hence for better agility had to select EFS over EBS.

To mount an EFS storage in your kubernetes cluster you have to first install the Amazon EFS CSI Driver. You can follow steps up to the “Create an Amazon EFS file system” section on https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html for driver installation.

Then you can create an EFS file system following the above document mentioned steps or using AWS mgt console UI.

Finally you can now create a PersistentVolume pointing to the above created EFS file system.

#amazon-efs #ci #helm #kubernetes #jenkins

Solving Jenkins master pod init process failure with an EFS mount
1.70 GEEK