Mountpoint for S3
Overview
Mountpoint for S3 enables mounting S3 buckets as a file system in EKS pods.
Install Mountpoint CSI Driver
helm repo add aws-mountpoint-s3-csi-driver https://kubernetes-sigs.github.io/mountpoint-for-s3-csi-driver
helm repo update
helm install aws-mountpoint-s3-csi-driver aws-mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver \
--namespace kube-systemCreate StorageClass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: s3-sc
provisioner: s3.amazonaws.com
parameters:
bucketName: my-bucket
mountOptions: "allow-delete,allow-write"Use in Pod
apiVersion: v1
kind: Pod
metadata:
name: app-with-s3
spec:
containers:
- name: app
image: nginx
volumeMounts:
- mountPath: /data
name: s3-volume
volumes:
- name: s3-volume
persistentVolumeClaim:
claimName: s3-claim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: s3-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: s3-sc
resources:
requests:
storage: 1000Gi # Virtual size, S3 is unlimitedUse Cases
- Machine learning datasets
- Data lakes
- Log archival
- Backup storage
Limitations
- Eventually consistent
- No rename/rename directories
- No hard links
- Higher latency than EBS/EFS