Le applicazioni con stato, ad esempio i database, salvano i dati tra le sessioni e richiedono uno storage persistente per archiviare i dati. I dati conservati vengono chiamati stato dell'applicazione. È possibile recuperare i dati in un secondo momento e utilizzarli nella sessione successiva. Kubernetes offre volumi persistenti come oggetti in grado di mantenere lo stato e i dati.
Nell'ambiente vSphere gli oggetti di volume persistente sono supportati da dischi virtuali che si trovano nei datastore. Gli archivi dati sono rappresentati da criteri di storage. Dopo che l'amministratore di vSphere crea un criterio di storage, ad esempio gold, e lo assegna a uno spazio dei nomi in un Supervisore, il criterio di storage viene visualizzato come classe di storage Kubernetes corrispondente nello Spazio dei nomi vSphere e in tutti i cluster TKG disponibili.
Un ingegnere DevOps può utilizzare la classe di storage nelle specifiche delle richieste di volume persistente. È quindi possibile distribuire un'applicazione che utilizza lo storage dalla richiesta di volume persistente. In questo esempio il volume persistente per l'applicazione viene creato dinamicamente.
Prerequisiti
Assicurarsi che l'amministratore di vSphere abbia creato un criterio di storage appropriato e abbia assegnato il criterio allo spazio dei nomi.
Procedura
- Accedere allo spazio dei nomi nell'ambiente vSphere Kubernetes.
- Verificare che le classi di storage siano disponibili.
- Creare una richiesta volume persistente.
- Creare un file YAML che contenga la configurazione della richiesta volume persistente.
In questo esempio il file fa riferimento alla classe di storage gold.Per eseguire il provisioning di un volume persistente ReadWriteMany, impostare
accessModes
suReadWriteMany
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce storageClassName: gold resources: requests: storage: 3Gi
- Applicare la richiesta di volume persistente al cluster TKG.
kubectl apply -f pvc_name.yaml
Questo comando crea dinamicamente un volume persistente Kubernetes e un volume vSphere con un disco virtuale di supporto che soddisfa i requisiti di storage della richiesta. - Verificare lo stato della richiesta di volume persistente.
kubectl get pvc my-pvc
L'output indica che il volume è associato alla richiesta di volume persistente.
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE my-pvc Bound my-pvc 2Gi RWO gold 30s
- Creare un file YAML che contenga la configurazione della richiesta volume persistente.
- Creare un pod che monti il volume persistente.
- Creare un file YAML che includa il volume persistente.
Il file contiene questi parametri.
... volumes: - name: my-pvc persistentVolumeClaim: claimName: my-pvc
- Distribuire il pod dal file YAML.
kubectl create -f pv_pod_name.yaml
- Verificare che il pod sia stato creato.
kubectl get pod
NAME READY STATUS RESTARTS AGE pod_name 1/1 Ready 0 40s
- Creare un file YAML che includa il volume persistente.
risultati
Il pod configurato utilizza lo storage persistente descritto nella richiesta di volume persistente.