OSC / ood_core

Open OnDemand core library

Home Page:https://osc.github.io/ood_core/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PVC support in kubernetes

johrstrom opened this issue · comments

Kubernetes currently supports NFS and host mounts. WE should also support PVCs.

┆Issue is synchronized with this Asana task by Unito

Reminder to reach out to the Harvard folks when this get's implemented.

So this will be rather challenging because of how different this can be handled. Examples of the YAML here: https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/application/mysql/mysql-pv.yaml

The way we will use PVCs with webservices is different. Things like MySQL will be a StatefulSet and use volumeClaimTemplate: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#volume-claim-templates. We will have a tool deployed that generates the PV based on the PVC generated from the template. This tool will cleanup things as pods are deleted, etc.

The fact OnDemand pods are short lived jobs means the storage situation could get really messy since usually one pod won't re-use storage from another pod. Using pure PVCs I think all we could support might be static PV otherwise we'd have to know which kind of storage provisioning is deployed as the behavior of each type can vary wildly.

Yea I think it's a use case more geared towards cloud like GKE or AKS.

Harvard folks are trying to get AKS with EFS. I actually don't know that that looks like if you get 1 EFS per person or what.

Googled a bit and EFS is an AWS thing, so I don't think you will have that with AKS since AKS is Azure Kubernetes Service.

:face_palm - that's right. Harvard's using amazon entirely I just had AKS in my mind and assumed it was Amazon's kuberne's service.

In any case - yea I figure it's a cloud thing, but I don't know how the mechanics of keeping that storage secure on a per user basis works out (in any cloud provider).