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.

Pvmap

Mappaggio Nodi tramite Directories

Non è noto a priori in quale nodo sarà un pod.

Deve comunque vedere il Persistent Volume.

Pvnodemap

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:

Confsec

Persistent Volume Claim

Pvc1

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