1

I'm a volunteer developer working in an NGO, we don't have much money so some companies gives us graciously some old hardware that I try to use to develop web applications for the NGO. As I'm lonely, I'm trying to automate everything and then I want to use docker, and k8s for staging and production. I'm not a k8s expert, I'm a very beginner and I'm learning on the job.

I've installed a k8s cluster which is working, but now I have issue with storage. I don't know what to choose to provision it.

We have two NAS replicated between them. We can share volumes with iSCSI, CIFS, NFS, etc. What I need is to use this storage as backend. But I also need to choose the persistent volume size (with Claims), multi-attach, and snapshots.

Solutions like CEPH, GlusterFS, or OpenEBS, seems to not be good because it will replicate data on multiple disks while the NAS already doing that.

I've tried targetd which is doing what I need, but I can't attach a same volume to multiple containers so I can't use that and this is not very proven for production. It also seems that NFS provisioner is not suitable for production.

I only need something that use one disk to create subdisks (like LVM) asked by the k8s, and the attach them to pods as block storage or other.

Does this solution exists? Is there any people in the same usecase than me ?

Hope my issue is understandable and you want to help me.. Regards

4
  • just to confirm, are you running you cluster on premise ?
    – A_Suh
    Apr 15, 2019 at 10:47
  • Yes @A_Suh, I forgot to mention that (sorry). It runs on CentOS 7 physical servers and deployed with ansible.
    – sgrunt
    Apr 15, 2019 at 11:32
  • So you need to create a Persistent Volume (kubernetes.io/docs/concepts/storage/persistent-volumes) that will store data on your two NAS, right? PVs support NFS, iSCSI etc. Did you try creating PV in your cluster and attaching it to pods using persistentVolumeClaim volume type (kubernetes.io/docs/concepts/storage/#persistentvolumeclaim)?
    – Maciek
    Apr 23, 2019 at 14:54
  • Yes I have @Maciek :) but it doesn't provide dynamic provisioning. So I have to make volume on the NAS for every PV and then I can't automate pods deployment. So I need dynamic provisioning
    – sgrunt
    Apr 23, 2019 at 17:47

1 Answer 1

1

So you need a StograClass that would provide dynamic provisioning based on your NFS/iSCSI NAS setup. Unfortunately, out of the box Kubernetes doesn't provide a solution like that. As you can see on that table NFS and iSCSI don't have an Internal Provisioner listed and that's what you'd want to use.

However, there are third party solutions you might want to investigate. You may want to take a look at nfs-client for example, as you already have NFS set up and configured.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .