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

  1. Accedere allo spazio dei nomi nell'ambiente vSphere Kubernetes.
  2. Verificare che le classi di storage siano disponibili.
  3. Creare una richiesta volume persistente.
    1. 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 su ReadWriteMany.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. 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.
    3. 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
  4. Creare un pod che monti il volume persistente.
    1. Creare un file YAML che includa il volume persistente.
      Il file contiene questi parametri.
      ...
      volumes:
          - name: my-pvc
            persistentVolumeClaim:
              claimName: my-pvc
    2. Distribuire il pod dal file YAML.
      kubectl create -f pv_pod_name.yaml
    3. Verificare che il pod sia stato creato.
      kubectl get pod
      NAME       READY   STATUS    RESTARTS   AGE
      pod_name   1/1     Ready     0          40s

risultati

Il pod configurato utilizza lo storage persistente descritto nella richiesta di volume persistente.