Skip to content

SeaweedFS

SeaweedFS is a high-performance distributed filesystem, optimized for working with huge number of files and also huge files.

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

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.

Choosing the disk type

Currently we have 2 pools of drives available: NVME and HDD. You can choose the required one by switching the StorageClass:

StorageClass Storage Type Size
seaweedfs-storage-hdd Spinning drives 24 TB
seaweedfs-storage-nvme NVME drives 18 TB