SeaweedFS
SeaweedFS is a high-performance distributed filesystem, optimized for working with huge number of files and also huge files.
The current status is experimental, use at your own risk. Don't put there any data you don't want to lose, or data you can't easily share with others.
Seaweedfs filesystem total data use
Credit: Seaweedfs data use by Dmitry Mishin
Currently available storageClasses:
StorageClass | Filesystem Type | Region | AccessModes | Storage Type | Size |
---|---|---|---|---|---|
seaweedfs-storage-hdd | SeaweedFS | US West | ReadWriteMany | Spinning drives | 24 TB |
seaweedfs-storage-nvme | SeaweedFS | US West | ReadWriteMany | NVME | 80 TB |
Mounting
To test it, create a PersistentVolumeClaim with seaweedfs-storage-hdd
storageClass:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: examplevol
spec:
storageClassName: seaweedfs-storage-hdd
accessModes:
- ReadWriteMany
resources:
requests:
storage: <volume size, f.e. 20Gi>
After you've created a PVC, you can see it's status (kubectl get pvc pvc_name
). Once it has the Status Bound
, you can attach it to your pod (claimName should match the name you gave your PVC):
apiVersion: v1
kind: Pod
metadata:
name: vol-pod
spec:
containers:
- name: vol-container
image: ubuntu
args: ["sleep", "36500000"]
volumeMounts:
- mountPath: /examplevol
name: examplevol
restartPolicy: Never
volumes:
- name: examplevol
persistentVolumeClaim:
claimName: examplevol
It's also possible to access your volume via WebDAV from your local machine.
Seaweedfs also supports S3 and HadoopFS