ESBDB
ESBDB

Reputation: 33

Kubernetes Volume mount object storage

Kubernetes volume support is listed here https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/user-guide/volumes.md , however it does not currently meet my needs.

I need to support object storage, both Openstack Swift API and S3 compatible API. (k8s does support AWS directly but I can't use it to connect to a different private object storage that uses the s3 API).

Is there any way to extend the functionality to support these two object storage APIs? I need to be able to mount from object storage into pods.

EDIT: For now I don't have to support swift API, just the S3 API. Keep in mind it's not actually AWS storage, it's merely using S3 compatible API

Upvotes: 1

Views: 5702

Answers (2)

Nitish T
Nitish T

Reputation: 162

Object storage is closer to other tools like Redis/Mongo/Elastic so that is not a core K8s part.

They are packaged as Kubernetes helm packages. For example Minio is a S3 compatible object storage server. You can install it using on your Kubernetes cluster using helm install stable/minio

Upvotes: 0

Sreekanth Pothanis
Sreekanth Pothanis

Reputation: 735

I have been thinking of ways to enable swift as a volume plugin. Volume plugins for cloud block storage (EBS, cinder, persistent disk) are straight forward when compared to object storage. The main difference being block storage disks can be provisioned and attached to the vm on which kubelet is running, which can be mounted into the container. After which, it will behave like local file system and does not need any extra care. Read only mounts of object storage are also fairly straight forward and the functionality can be similar to gitRepo.

On the other hand, writing back to object storage gets tricky. 2 ways come to mind:

  1. Some sort user space file system plugin which will map to the remote system.
  2. Use a side car container whose sole purpose would be to sync a particular dir to object storage system.

Obviously both of the approaches would be significantly slow in terms of performance which will probably be directly proportional to network bandwidth.

Upvotes: 3

Related Questions