Persistent Volumes for Storage
Persistent storage for services deployed in our Kubernetes cluster is provided by two dynamic storage volume provisioners:
Longhorn
NFS
These correspond to PersistentVolume (PV) storage classes: longhorn
and nfs-condo
(default).
NFS Condo
Data connected by nfs-condo
PVs is stored remotely on a dedicated storage cluster at NCSA called Condo. Volumes are mounted via NFS to the host nodes dynamically by the NFS Subdirectory External Provisioner installed via the nfs-subdir-external-provisioner
Helm chart.
Files can be accessed by using a standard NFS mount command:
mount taiga-nfs.ncsa.illinois.edu:/taiga/ncsa/radiant/[project_code] /mnt/condo
Longhorn
The longhorn
storage class is provided by the Longhorn system, which allocates space from the k8s nodes themselves (i.e. flash storage attached to the host VMs) to provision the PVs claimed by the k8s pods. This storage is fast (suitable for MySQL databases for example) and is replicated across several nodes for resilience. However, if all the nodes are destroyed, then the data is lost. Backups to the Condo system can be configured in the Longhorn management interface by specifying a target NFS URL like nfs://taiga-nfs.ncsa.illinois.edu:/taiga/ncsa/radiant/[project_code]/backup