Storaggio esterno al cluster
Kubernetes non si occupa della persistenza dei dati.
Deve essere fornita dall’esterno.
Vincoli dello storage:
- Non deve dipendere dal ciclo di vita dei pod
- Deve essere disponibile su tutti i nodi
- Deve sopravvivere al crash del cluster
Casi d’uso tipici:
- Database
- Files di configurazione
Persistent Volume
- Risorsa del cluster
- Fuori dai namespaces
- Creato con file YAML
- Mappa a storaggio fisico esterno al cluster
- Locale allo host
- Network File System
- Cloud
- ....
- L’amministratore del cluster crea i Persistent Volumes
- Design dei requisiti degli applicativi
Un PV è mappato a storaggio fisico locale o remoto.
Mappaggio Nodi tramite Directories
Non è noto a priori in quale nodo sarà un pod.
Deve comunque vedere il Persistent Volume.
Occorre che ogni nodo mappi una directory locale (containerPath) ad una directory globale di cluster (
hostPath`).
Il Persistent Volume si aggancia allo hostPath
.
Per questo il file di configurazione standard.yml
di Kind ha le sezioni:
Persistent Volume Claim
L’utente che compie il deployment di un applicativo nel cluster genera un Persistent Volume Claim (PVC)
- Nel namespace dell’applicativo
- Il Persistent Volume Claim mappa un Persistent Volume
- Creato con un file di manifest YAML
- Viene riferito del file di specifiche del pod o del deployment