Existem várias maneiras de configurar o armazenamento de dados para aplicativos em execução em um cluster Kubernetes. Alguns deles já estão desatualizados, outros surgiram recentemente. Neste artigo, consideraremos o conceito de três opções de conexão de armazenamento, incluindo a mais recente - conexão via Container Storage Interface.

Método 1. Especificando PV no Manifesto do Pod
Um manifesto típico que descreve um pod em um cluster Kubernetes:

As partes do manifesto que descrevem quais volumes estão conectados e onde estão destacados em cores.
Na seção volumeMounts , os pontos de montagem (mountPath) são indicados - em qual diretório dentro do contêiner o volume persistente será montado, bem como o nome do volume.
volumes , . , ( : awsElasticBlockStore) . , .
. .
, Kubernetes , .
:
- , Kubernetes ;
- , , ;
- (, AWS Google Cloud), .
, : configMap, secret, emptyDir, hostPath:
configMap secret — , Kubernetes.
emptyDir — , . . pod , emptyDir .
hostPath — , , — /etc/kubernetes. , . /etc/kubernetes . , hostPath , namespace kube-system.
2. SC/PVC/PV
— Storage class, PersistentVolumeClaim, PersistentVolume.
Storage class .
PersistentVolumeClaim , .
PersistentVolume .
: volume PersistentVolumeClaim claimName.

PersistentVolumeClaim , . :
- ;
- : ReadWriteOnce ReadWriteMany;
- Storage class — .
Storage class . , .
PersistentVolume Storage class (ID , , . .).
PVC, Kubernetes , Storage class , PersistentVolume.
PV , Kubernetes — Provisioner ( Storage class). , , Kubernetes PersistentVolume, PersistentVolumeClaim.
, , .
Storage class, . , AWS Google Cloud, — Storage class PVC. Persistance Volume , Provisioner.
3. Container Storage Interface
, , Kubernetes. , Kubernetes. .
, Cloud Foundry, Kubernetes, Mesos Docker Container Storage Interface (CSI) — , (CSI Driver), . Kubernetes .
, CSI Driver : Node Plugin Controller plugin.
Node Plugin . Controller plugin : , . .
Kubernetes , CSI Driver , .
, Storage class, . — Storage class, . helm chart . Storage class , helm chart, Storage class. , .
, , , Ceph CSI .
Ceph CSI , .
- . RBD RWO, CSI Ceph RWX. pod' RDB- . , — , .
- . Kubernetes . CSI . , PersistentVolume.
- PersistentVolume Kubernetes.
- . Kubernetes CephFS , CSI- Ceph Nautilus CephFS-.
- . CSI- Prometheus , , . .
- Topology aware. , , , , .
Ceph Kubernetes CSI, . - Ceph, 15 .
: , Southbridge, Certified Kubernetes Administrator, kubespray.
