Le applicazioni stateful, ad esempio i database, salvano i dati tra le sessioni e richiedono volumi persistenti per archiviare i dati. Con vSphere IaaS control plane, è possibile eseguire il provisioning dinamico di un volume persistente per l'applicazione.

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 Tanzu Kubernetes Grid 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. Vedere Utilizzo di Servizio file vSAN per creare volumi ReadWriteMany in vSphere IaaS control plane.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. Applicare l'attestazione del volume persistente al cluster Kubernetes.
      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.

Operazioni successive

Per monitorare lo stato di integrità del volume persistente, vedere Monitorare l'integrità dei volumi in un cluster Spazio dei nomi vSphere o Tanzu Kubernetes Grid. Per rivedere e monitorare il volume persistente in vSphere Client, vedere Monitorare i volumi persistenti in vSphere Client.